{"info":{"_postman_id":"c7334eb2-47e6-4ee4-8679-be200e5d1076","name":"Frontcover Connect API","description":"<html><head></head><body><p><strong>Frontcover Connect</strong> is a suite of APIs that lets external systems, third-party apps (including Zapier) and integrations exchange data with Frontcover’s community management platform. It enables member-driven clubs and community organisations to keep their systems—membership databases, CRMs and automation tools—in sync with Frontcover, either in real time or via scheduled workflows.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"46830446","collectionId":"c7334eb2-47e6-4ee4-8679-be200e5d1076","publishedId":"2sB3BHjTw1","public":true,"customColor":{"top-bar":"FFFFFE","right-sidebar":"4f4f4f","highlight":"39D85E"},"publishDate":"2025-08-15T03:15:58.000Z"},"item":[{"name":"Zapier (Frontcover Integration)","item":[{"name":"Trigger","item":[{"name":"New Member created on Frontcover","id":"a1c05dcb-0c34-45cd-a870-f9342cb0e99d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://www.frontcover.io/api/app/connect/webhook/member-created/sample?community_slug=test","description":"<p>Triggers when a new member is created on Frontcover, regardless of the status (E.g. A pending member join request will fire this trigger as well).</p>\n<p>Frontcover skips this trigger when:</p>\n<p><code>member.source = frontcover-connect</code></p>\n<ul>\n<li>Note: A member created via API (Detailed in <b>Member Creation</b> section) will be ignored.</li>\n</ul>\n<h2 id=\"sample-output-for-zapier-trigger\"><strong>Sample Output for Zapier Trigger</strong></h2>\n<p>The sample output returned to Zapier is a list of objects. The actual event sent to Zapier contains one member object.  </p>\n<p><strong>How to Read the New Member Object</strong>  </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Internal Frontcover member row ID.</td>\n</tr>\n<tr>\n<td>event</td>\n<td>Event name. For this trigger: <code>member.created.</code></td>\n</tr>\n<tr>\n<td>unique_member_id</td>\n<td>User-facing member ID.</td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>Member creation time in ISO-8601 format.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Current member status, such as <code>active</code>, <code>pending</code>, <code>expired</code>, <code>suspended</code> or <code>deactivated</code></td>\n</tr>\n<tr>\n<td>source</td>\n<td>How the member was created, such as <code>self-onboard</code> or <code>batch-import</code>.</td>\n</tr>\n<tr>\n<td>email</td>\n<td>Member email address.</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>Member phone number.</td>\n</tr>\n<tr>\n<td>first_name</td>\n<td>Member first name.</td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>Member last name.</td>\n</tr>\n<tr>\n<td>member_card_frontcover_direct_url</td>\n<td>Frontcover URL for the member card, if this is a member-card membership.</td>\n</tr>\n<tr>\n<td>member_card_apple_direct_download_url</td>\n<td>Apple download URL for member-card memberships.</td>\n</tr>\n<tr>\n<td>member_card_google_direct_download_url</td>\n<td>Google download URL for member-card memberships.</td>\n</tr>\n<tr>\n<td>member_pass_frontcover_direct_url</td>\n<td>Frontcover URL for the member pass, if this is a member-pass membership.</td>\n</tr>\n<tr>\n<td>member_pass_apple_direct_download_url</td>\n<td>Apple Wallet download URL for member-pass memberships.</td>\n</tr>\n<tr>\n<td>member_pass_google_direct_download_url</td>\n<td>Google Wallet download URL for member-pass memberships.</td>\n</tr>\n<tr>\n<td>member_metadata</td>\n<td>Raw member metadata stored by Frontcover.</td>\n</tr>\n<tr>\n<td>membership_slug</td>\n<td>Slug of the related membership.</td>\n</tr>\n<tr>\n<td>membership_url</td>\n<td>Public Frontcover membership URL.</td>\n</tr>\n<tr>\n<td>community_slug</td>\n<td>Slug of the related community.</td>\n</tr>\n<tr>\n<td>community_url</td>\n<td>Public Frontcover community URL.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","webhook","member-created","sample"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"ff158c8e-dae4-4f56-afe3-28d8932860e1","name":"Sample","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123+new@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61471234\"\n}"},"url":{"raw":"https://www.frontcover.io/api/app/connect/webhook/member-created/sample?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","webhook","member-created","sample"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"cache-control","value":"public, max-age=0, must-revalidate"},{"key":"content-encoding","value":"br"},{"key":"content-type","value":"application/json"},{"key":"date","value":"Mon, 04 May 2026 03:16:00 GMT"},{"key":"server","value":"Vercel"},{"key":"strict-transport-security","value":"max-age=63072000"},{"key":"vary","value":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-matched-path","value":"/api/app/connect/webhook/member-created/sample"},{"key":"x-vercel-cache","value":"BYPASS"},{"key":"x-vercel-id","value":"syd1::syd1::wn9nn-1777864560089-9c32113ad580"},{"key":"x-xss-protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"event\": \"member.created\",\n        \"unique_member_id\": \"MEM001\",\n        \"created_at\": \"2026-05-04T03:10:37.193Z\",\n        \"status\": \"active\",\n        \"source\": \"self-onboard\",\n        \"email\": \"member@example.com\",\n        \"phone\": \"+61400000000\",\n        \"first_name\": \"Alex\",\n        \"last_name\": \"Member\",\n        \"member_card_frontcover_direct_url\": null,\n        \"member_card_apple_direct_download_url\": null,\n        \"member_card_google_direct_download_url\": null,\n        \"member_pass_frontcover_direct_url\": \"https://www.frontcover.io/demo-community/wallet-pass?id=abc123\",\n        \"member_pass_apple_direct_download_url\": \"https://www.frontcover.io/api/member-pass/download?id=00000000-0000-0000-0000-000000000000&t=apple\",\n        \"member_pass_google_direct_download_url\": \"https://www.frontcover.io/api/member-pass/download?id=00000000-0000-0000-0000-000000000000&t=google\",\n        \"member_metadata\": {\n            \"email\": \"member@example.com\",\n            \"phone\": \"+61400000000\",\n            \"firstName\": \"Alex\",\n            \"lastName\": \"Member\",\n            \"memberID\": \"MEM001\"\n        },\n        \"membership_slug\": \"general-membership\",\n        \"membership_url\": \"https://www.frontcover.io/demo-community/membership?id=general-membership\",\n        \"community_slug\": \"demo-community\",\n        \"community_url\": \"https://www.frontcover.io/demo-community\"\n    }\n]"}],"_postman_id":"a1c05dcb-0c34-45cd-a870-f9342cb0e99d"},{"name":"Member Status Update","id":"e16312dd-294c-4d31-ae1c-67f07b90d55c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://www.frontcover.io/api/app/connect/webhook/member-status-updated/sample?community_slug=test","description":"<p>Triggers when an existing member’s status changes on Frontcover.</p>\n<p>Frontcover skips this trigger when:</p>\n<p><code>old_record.status = record.status</code></p>\n<ul>\n<li>This means regular member updates do not fire this trigger unless the status value changes.</li>\n</ul>\n<h2 id=\"sample-output-for-zapier-trigger\"><strong>Sample Output for Zapier Trigger</strong></h2>\n<p>The sample output returned to Zapier is a list of objects. The actual event sent to Zapier contains one member object.</p>\n<p><strong>How to Read the Member Status Update Object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Internal Frontcover member row ID.</td>\n</tr>\n<tr>\n<td>event</td>\n<td>Event name. For this trigger: member.status_updated.</td>\n</tr>\n<tr>\n<td>unique_member_id</td>\n<td>Public-facing member ID.</td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>Member creation time in ISO-8601 format.</td>\n</tr>\n<tr>\n<td>old_status</td>\n<td>Previous member status before the update.</td>\n</tr>\n<tr>\n<td>previous_status</td>\n<td>Same as old_status, kept for compatibility.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>New member status after the update.</td>\n</tr>\n<tr>\n<td>source</td>\n<td>How the member was originally created.</td>\n</tr>\n<tr>\n<td>email</td>\n<td>Member email address.</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>Member phone number.</td>\n</tr>\n<tr>\n<td>first_name</td>\n<td>Member first name.</td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>Member last name.</td>\n</tr>\n<tr>\n<td>member_card_frontcover_direct_url</td>\n<td>Frontcover URL for the member card, if this is a member-card membership.</td>\n</tr>\n<tr>\n<td>member_card_apple_direct_download_url</td>\n<td>Apple download URL for member-card memberships.</td>\n</tr>\n<tr>\n<td>member_card_google_direct_download_url</td>\n<td>Google download URL for member-card memberships.</td>\n</tr>\n<tr>\n<td>member_pass_frontcover_direct_url</td>\n<td>Frontcover URL for the member pass, if this is a member-pass membership.</td>\n</tr>\n<tr>\n<td>member_pass_apple_direct_download_url</td>\n<td>Apple Wallet download URL for member-pass memberships.</td>\n</tr>\n<tr>\n<td>member_pass_google_direct_download_url</td>\n<td>Google Wallet download URL for member-pass memberships.</td>\n</tr>\n<tr>\n<td>member_metadata</td>\n<td>Raw member metadata stored by Frontcover.</td>\n</tr>\n<tr>\n<td>membership_slug</td>\n<td>Slug of the related membership.</td>\n</tr>\n<tr>\n<td>membership_url</td>\n<td>Public Frontcover membership URL.</td>\n</tr>\n<tr>\n<td>community_slug</td>\n<td>Slug of the related community.</td>\n</tr>\n<tr>\n<td>community_url</td>\n<td>Public Frontcover community URL.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","webhook","member-status-updated","sample"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"2ac09fc2-65c9-4313-b035-0fc0a306d0b2","name":"Sample","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123+new@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61471234\"\n}"},"url":{"raw":"https://www.frontcover.io/api/app/connect/webhook/member-status-updated/sample?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","webhook","member-status-updated","sample"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":":status","value":200},{"key":"cache-control","value":"public, max-age=0, must-revalidate"},{"key":"content-encoding","value":"br"},{"key":"content-type","value":"application/json"},{"key":"date","value":"Mon, 04 May 2026 03:32:22 GMT"},{"key":"server","value":"Vercel"},{"key":"strict-transport-security","value":"max-age=63072000"},{"key":"vary","value":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-matched-path","value":"/api/app/connect/webhook/member-status-updated/sample"},{"key":"x-vercel-cache","value":"BYPASS"},{"key":"x-vercel-id","value":"syd1::syd1::blkn4-1777865541939-acfc0999e123"},{"key":"x-xss-protection","value":"1; mode=block"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"event\": \"member.status_updated\",\n        \"unique_member_id\": \"MEM001\",\n        \"created_at\": \"2026-05-04T03:32:22.262Z\",\n        \"previous_status\": \"pending\",\n        \"status\": \"active\",\n        \"source\": \"batch-import\",\n        \"email\": \"member@example.com\",\n        \"phone\": \"+61400000000\",\n        \"first_name\": \"Alex\",\n        \"last_name\": \"Member\",\n        \"member_card_frontcover_direct_url\": \"https://www.frontcover.io/demo-community/wallet-pass?id=abc123\",\n        \"member_card_apple_direct_download_url\": \"https://truerewards.example/member-card\",\n        \"member_card_google_direct_download_url\": \"https://truerewards.example/member-card\",\n        \"member_pass_frontcover_direct_url\": null,\n        \"member_pass_apple_direct_download_url\": null,\n        \"member_pass_google_direct_download_url\": null,\n        \"member_metadata\": {\n            \"email\": \"member@example.com\",\n            \"phone\": \"+61400000000\",\n            \"firstName\": \"Alex\",\n            \"lastName\": \"Member\",\n            \"memberID\": \"MEM001\"\n        },\n        \"updated_at\": \"2026-05-04T03:32:22.262Z\",\n        \"membership_slug\": \"general-membership\",\n        \"membership_url\": \"https://www.frontcover.io/demo-community/membership?id=general-membership\",\n        \"community_slug\": \"demo-community\",\n        \"community_url\": \"https://www.frontcover.io/demo-community\"\n    }\n]"}],"_postman_id":"e16312dd-294c-4d31-ae1c-67f07b90d55c"},{"name":"New Subscriber on Frontcover","id":"d44c0481-51cd-4c33-b58b-0f5bfa67e69c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://www.frontcover.io/api/app/connect/webhook/subscription-created/sample?community_slug=test","description":"<p>Triggers when a new subscriber is created on Frontcover, or when an existing subscriber adds or changes their email or SMS identifier.</p>\n<p>Frontcover skips this trigger when:</p>\n<p><code>community_subscription.source = api</code></p>\n<ul>\n<li>Note: subscribers created through the Frontcover Connect Subscriber Creation API are ignored by this trigger.</li>\n</ul>\n<h2 id=\"sample-output-for-zapier-trigger\"><strong>Sample Output for Zapier Trigger</strong></h2>\n<p>The sample output returned to Zapier is a list of objects. The actual event sent to Zapier contains one member object.</p>\n<p><strong>How to Read the New Subscriber Object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Internal Frontcover subscription ID.</td>\n</tr>\n<tr>\n<td>event</td>\n<td>Event name. For this trigger: <code>subscription.created</code>.</td>\n</tr>\n<tr>\n<td>subscriber_email</td>\n<td>Subscriber email address.</td>\n</tr>\n<tr>\n<td>is_email_notification_enabled</td>\n<td>Whether email notifications are enabled.</td>\n</tr>\n<tr>\n<td>is_sms_notification_enabled</td>\n<td>Whether SMS notifications are enabled.</td>\n</tr>\n<tr>\n<td>subscriber_phone_number</td>\n<td>Subscriber SMS phone number.</td>\n</tr>\n<tr>\n<td>subscriber_first_name</td>\n<td>Subscriber first name.</td>\n</tr>\n<tr>\n<td>subscriber_last_name</td>\n<td>Subscriber last name.</td>\n</tr>\n<tr>\n<td>frontcover_subscription_id</td>\n<td>Frontcover subscription ID.</td>\n</tr>\n<tr>\n<td>frontcover_subscription_management_url</td>\n<td>URL where the subscriber can manage their subscription settings.</td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>Subscription creation time in ISO-8601 format.</td>\n</tr>\n<tr>\n<td>community_slug</td>\n<td>Slug of the related community.</td>\n</tr>\n<tr>\n<td>community_url</td>\n<td>Public Frontcover community URL.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","webhook","subscription-created","sample"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"933b55bf-b476-4368-bfb9-524a1a95c3da","name":"Sample","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123+new@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61471234\"\n}"},"url":{"raw":"https://www.frontcover.io/api/app/connect/webhook/subscription-created/sample?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","webhook","subscription-created","sample"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":":status","value":200},{"key":"cache-control","value":"public, max-age=0, must-revalidate"},{"key":"content-encoding","value":"br"},{"key":"content-type","value":"application/json"},{"key":"date","value":"Mon, 04 May 2026 03:39:19 GMT"},{"key":"server","value":"Vercel"},{"key":"strict-transport-security","value":"max-age=63072000"},{"key":"vary","value":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-matched-path","value":"/api/app/connect/webhook/subscription-created/sample"},{"key":"x-vercel-cache","value":"BYPASS"},{"key":"x-vercel-id","value":"syd1::syd1::rdz9p-1777865959184-fe12dad8b9ab"},{"key":"x-xss-protection","value":"1; mode=block"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n    {\n        \"id\": \"00000000-0000-0000-0000-000000000000\",\n        \"event\": \"subscription.created\",\n        \"subscriber_email\": \"subscriber@example.com\",\n        \"is_email_notification_enabled\": true,\n        \"is_sms_notification_enabled\": true,\n        \"subscriber_phone_number\": \"+61400000000\",\n        \"subscriber_first_name\": \"Sam\",\n        \"subscriber_last_name\": \"Subscriber\",\n        \"frontcover_subscription_id\": \"00000000-0000-0000-0000-000000000000\",\n        \"frontcover_subscription_management_url\": \"https://www.frontcover.io/demo-community/subscription?subscription_id=00000000-0000-0000-0000-000000000000\",\n        \"created_at\": \"2026-05-04T03:32:22.262Z\",\n        \"community_slug\": \"demo-community\",\n        \"community_url\": \"https://www.frontcover.io/demo-community\",\n        \"subscription_settings\": {\n            \"email\": {\n                \"identifier\": \"subscriber@example.com\",\n                \"is_subscribed\": true,\n                \"important_alert\": true\n            }\n        }\n    }\n]"}],"_postman_id":"d44c0481-51cd-4c33-b58b-0f5bfa67e69c"},{"name":"Subscriber Settings Update","id":"fee449af-05b1-40ad-a4b8-a8da4bbd7c15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://www.frontcover.io/api/app/connect/webhook/subscription-settings-updated/sample?community_slug=test","description":"<p>Triggers when an existing subscriber’s email or SMS notification setting changes on Frontcover.</p>\n<h2 id=\"sample-output-for-zapier-trigger\"><strong>Sample Output for Zapier Trigger</strong></h2>\n<p>The sample output returned to Zapier is a list of objects. The actual event sent to Zapier contains one member object.</p>\n<p><strong>How to Read the Subscriber Settings Update Object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Internal Frontcover subscription ID.</td>\n</tr>\n<tr>\n<td>event</td>\n<td>Event name. For this trigger: <code>subscription.settings_updated</code>.</td>\n</tr>\n<tr>\n<td>subscriber_email</td>\n<td>Subscriber email address.</td>\n</tr>\n<tr>\n<td>is_email_notification_enabled</td>\n<td>Whether email notifications are enabled after the update.</td>\n</tr>\n<tr>\n<td>is_sms_notification_enabled</td>\n<td>Whether SMS notifications are enabled after the update.</td>\n</tr>\n<tr>\n<td>subscriber_phone_number</td>\n<td>Subscriber SMS phone number.</td>\n</tr>\n<tr>\n<td>subscriber_first_name</td>\n<td>Subscriber first name.</td>\n</tr>\n<tr>\n<td>subscriber_last_name</td>\n<td>Subscriber last name.</td>\n</tr>\n<tr>\n<td>frontcover_subscription_id</td>\n<td>Frontcover subscription ID.</td>\n</tr>\n<tr>\n<td>frontcover_subscription_management_url</td>\n<td>URL where the subscriber can manage their subscription settings.</td>\n</tr>\n<tr>\n<td>updated_at</td>\n<td>Subscription update time in ISO-8601 format.</td>\n</tr>\n<tr>\n<td>community_slug</td>\n<td>Slug of the related community.</td>\n</tr>\n<tr>\n<td>community_url</td>\n<td>Public Frontcover community URL.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","webhook","subscription-settings-updated","sample"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"ab76bae0-b803-4e02-88af-d728a20916cd","name":"Sample","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123+new@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61471234\"\n}"},"url":{"raw":"https://www.frontcover.io/api/app/connect/webhook/subscription-settings-updated/sample?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","webhook","subscription-settings-updated","sample"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":":status","value":200},{"key":"cache-control","value":"public, max-age=0, must-revalidate"},{"key":"content-encoding","value":"br"},{"key":"content-type","value":"application/json"},{"key":"date","value":"Mon, 04 May 2026 03:38:42 GMT"},{"key":"server","value":"Vercel"},{"key":"strict-transport-security","value":"max-age=63072000"},{"key":"vary","value":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-matched-path","value":"/api/app/connect/webhook/subscription-settings-updated/sample"},{"key":"x-vercel-cache","value":"BYPASS"},{"key":"x-vercel-id","value":"syd1::syd1::qx9ld-1777865921831-f2b18166482f"},{"key":"x-xss-protection","value":"1; mode=block"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n    {\n        \"id\": \"00000000-0000-0000-0000-000000000000\",\n        \"event\": \"subscription.settings_updated\",\n        \"subscriber_email\": \"subscriber@example.com\",\n        \"is_email_notification_enabled\": false,\n        \"is_sms_notification_enabled\": true,\n        \"subscriber_phone_number\": \"+61400000000\",\n        \"subscriber_first_name\": \"Sam\",\n        \"subscriber_last_name\": \"Subscriber\",\n        \"frontcover_subscription_id\": \"00000000-0000-0000-0000-000000000000\",\n        \"frontcover_subscription_management_url\": \"https://www.frontcover.io/demo-community/subscription?subscription_id=00000000-0000-0000-0000-000000000000\",\n        \"updated_at\": \"2026-05-04T03:32:22.262Z\",\n        \"community_slug\": \"demo-community\",\n        \"community_url\": \"https://www.frontcover.io/demo-community\",\n        \"subscription_settings\": {\n            \"email\": {\n                \"identifier\": \"subscriber@example.com\",\n                \"is_subscribed\": false,\n                \"important_alert\": false\n            }\n        },\n        \"previous_subscription_settings\": {\n            \"email\": {\n                \"identifier\": \"subscriber@example.com\",\n                \"is_subscribed\": true,\n                \"important_alert\": true\n            }\n        }\n    }\n]"}],"_postman_id":"fee449af-05b1-40ad-a4b8-a8da4bbd7c15"}],"id":"6a13e0e5-3604-479e-a08d-2f802b1db9f7","description":"<h2 id=\"frontcover-zapier-trigger-sample-outputs\">Frontcover Zapier Trigger Sample Outputs</h2>\n<p>These endpoints are used by Zapier when a user creates a Zap with Frontcover as the trigger app.</p>\n<p>Zapier subscribes to an event by sending Frontcover a targetUrl. Frontcover stores that URL. Later, when we detects the matching event in Frontcover, Frontcover sends the event payload to Zapier’s stored targetUrl, and Zapier runs the user’s Zap actions.</p>\n<p>All Zapier-facing requests require:</p>\n<p><code>Authorization: Bearer {{frontcover_connect_api_key}}</code></p>\n<p>Each URL also requires:</p>\n<p><code>community_slug={{community_slug}}</code></p>\n","_postman_id":"6a13e0e5-3604-479e-a08d-2f802b1db9f7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}}},{"name":"Action","item":[{"name":"Create Subscriber","event":[{"listen":"test","script":{"id":"e038d9da-0b52-43ff-8a0a-cd0ab171473a","exec":[""],"type":"text/javascript","packages":{}}}],"id":"4844940f-21a9-4a8d-9a63-c56b435f5e33","protocolProfileBehavior":{"disabledSystemHeaders":{}},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/app/connect/subscriber/create?community_slug=society9","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","subscriber","create"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"society9"}],"variable":[]}},"response":[{"id":"a4da0625-1c64-4e82-9aa0-60378b5f53c4","name":"Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key={{vault:authorization-secret---uuid}}&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"{{vault:authorization-secret---uuid}}"},{"key":"community_slug","value":"society9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:43:54 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::w4f7z-1753083834469-6b21248865b3"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": \"e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"url\": \"https://www.frontcover.io/society9/subscription?subscription_id=e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"message\": \"Subscriber created successfully\"\n}"},{"id":"0fb4ce44-0932-4ef8-95ac-eff07684193e","name":"Duplicated Subscriber","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key={{vault:authorization-secret---uuid}}&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"{{vault:authorization-secret---uuid}}"},{"key":"community_slug","value":"society9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:45:17 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::t8hjf-1753083917485-b2f1744dc5f3"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": \"e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"url\": \"https://www.frontcover.io/society9/subscription?subscription_id=e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"message\": \"User have already subscribed to the community\"\n}"},{"id":"3e2b6fa4-d193-4e1d-84cc-d544e1a311d7","name":"Unauthorized Access","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key=1234&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"1234"},{"key":"community_slug","value":"society9"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:45:51 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::vvk25-1753083951767-1e7f2f96f0ef"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"url\": null,\n    \"message\": \"Unauthorized\"\n}"},{"id":"0e830bd1-03e4-44ee-8c35-24508d47bece","name":"Malformed Request Body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"squarespace@test.com\",\n    \"first_name\": \"Joe\",\n    \"last_name\": \"Doe\",\n    \"phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key={{vault:authorization-secret---uuid}}&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"{{vault:authorization-secret---uuid}}"},{"key":"community_slug","value":"society9"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:46:49 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::6x456-1753084009470-79391369a235"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"url\": null,\n    \"message\": \"Subscriber email not provided or invalid\"\n}"}],"_postman_id":"4844940f-21a9-4a8d-9a63-c56b435f5e33"}],"id":"69f0f482-102a-4bec-a93d-9396ef359945","description":"<h2 id=\"frontcover-zapier-action-requests\">Frontcover Zapier Action Requests</h2>\n<p>These endpoints are used by Zapier when a user creates a Zap with Frontcover as the action app.</p>\n<p>All Zapier-facing requests require:</p>\n<p><code>Authorization: Bearer {{frontcover_connect_api_key}}</code></p>\n<p>Each URL also requires:</p>\n<p><code>community_slug={{community_slug}}</code></p>\n","_postman_id":"69f0f482-102a-4bec-a93d-9396ef359945","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}}},{"name":"Get authenticated user","event":[{"listen":"test","script":{"id":"2063878b-db73-452d-baeb-100688693e80","exec":[""],"type":"text/javascript","packages":{}}}],"id":"3db4fd10-2252-4fd5-bde2-0412cbc8b6c6","request":{"method":"GET","header":[],"url":"https://www.frontcover.io/api/app/connect/auth?community_slug=test","description":"<p>Gets information about the authenticated user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237","id":"38fe5c6a-ef08-4e1c-8125-981407b99237","name":"Zapier (Frontcover Integration)","type":"folder"}},"urlObject":{"path":["api","app","connect","auth"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"772d8c06-e70c-411c-9978-94286fd98be7","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://www.frontcover.io/api/app/connect/auth?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","auth"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 10:39:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": true,\n    \"message\": \"Your Frontcover Connect App is Authed\"\n}"},{"id":"767deb1b-b844-4cfa-8741-4c8dd9b2cc0d","name":"Unauthorized","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://www.frontcover.io/api/app/connect/auth?community_slug=fks","host":["https://www.frontcover.io"],"path":["api","app","connect","auth"],"query":[{"key":"community_slug","value":"fks"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 10:40:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"message\": \"Unauthorized\"\n}"}],"_postman_id":"3db4fd10-2252-4fd5-bde2-0412cbc8b6c6"}],"id":"38fe5c6a-ef08-4e1c-8125-981407b99237","description":"<h1 id=\"frontcover-integration-v210\"><strong>Frontcover Integration V2.1.0</strong></h1>\n<hr />\n<h2 id=\"overview\"><strong>Overview</strong></h2>\n<p>The <strong>Frontcover API</strong> enables member-driven clubs and community organisations to keep their systems in sync with Frontcover, creating subscribers, creating members, listening to new members and new subscribers (created via Frontcover), listening to changes updated of members and subscribers.</p>\n<p>These docs also cover the Zapier integration.</p>\n<hr />\n<h2 id=\"getting-started\"><strong>Getting started</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Step</strong></th>\n<th><strong>What to do</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>1</strong></td>\n<td><strong>Generate an API key</strong> – go to <strong>Dashboard ▸ Integrations ▸ Frontcover Connect</strong> in your Frontcover community and click <strong>Create API Key</strong>. Copy it immediately (it’s shown only once, and we don store it).</td>\n</tr>\n<tr>\n<td><strong>2</strong></td>\n<td><strong>Grab your community slug</strong> – the short identifier in your URL.  <br />e.g. <a href=\"https://www.frontcover.io/**your_slug**/\">https://www.frontcover.io/&lt;<b>your_slug&gt;</b>/</a>....</td>\n</tr>\n<tr>\n<td><strong>3</strong></td>\n<td><strong>Test authentication</strong>  <br /><a href=\"https://www.frontcover.io/api/app/connect/zapier/auth?frontcover_connect_api_key=YOUR_KEY&amp;community_slug=YOUR_SLUG\">https://www.frontcover.io/api/app/connect/auth?community_slug=YOUR_SLUG<br /></a>with using API Key obtained as Authorization Header (Bearer Auth)  <br />  <br />Successful response: json  <br />{ \"data\": true, \"message\": \"Frontcover is Authenticated\" }</td>\n</tr>\n<tr>\n<td><strong>4</strong></td>\n<td><strong>Connect Frontcover in Zapier</strong> – when Zapier asks, paste the same key and slug.</td>\n</tr>\n<tr>\n<td><strong>5</strong></td>\n<td><strong>Create your first Zap</strong> – e.g. Squarespace Form ➜ <strong>Create Subscriber</strong> action.</td>\n</tr>\n<tr>\n<td><strong>6</strong></td>\n<td><strong>Stay within rate limits</strong> – 250 requests per minute per API key.</td>\n</tr>\n<tr>\n<td><strong>7</strong></td>\n<td>Need help?  <br />Guide: <a href=\"https://help.frontcover.io/en/articles/10531686-frontcover-zapier-integration\">https://help.frontcover.io/en/articles/10531686-frontcover-zapier-integration</a>  <br />• Email: <a href=\"https://mailto:community@frontcover.io\">community@frontcover.io</a>  <br />• Live chat: frontcover.io</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>All requests must use HTTPS.</em></p>\n<hr />\n<h2 id=\"authentication\"><strong>Authentication</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter (query)</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>community_slug</td>\n<td>The slug of the community you’re calling</td>\n</tr>\n</tbody>\n</table>\n</div><p>Add community_slug <strong>as query parameters</strong> to each request.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization: Bearer</td>\n<td>Your one-time-revealed API key</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"actions\"><strong>Actions</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Action</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>Endpoint</strong></th>\n<th><strong>Method</strong></th>\n<th><strong>Required JSON</strong></th>\n<th><strong>Example cURL</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Create Subscriber</strong></td>\n<td>Live</td>\n<td>/api/app/connect/subscriber/create</td>\n<td>POST</td>\n<td>subscriber_email • subscriber_first_name • subscriber_last_name • subscriber_phone_number</td>\n<td>bash  <br />curl -X POST \"<a href=\"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key=YOUR_KEY&amp;community_slug=YOUR_SLUG\">https://www.frontcover.io/api/app/connect/subscriber/create?community_slug=YOUR_SLUG\"</a> -H \"Content-Type: application/json\" -d '{ \"subscriber_email\":\"<a href=\"https://mailto:alice@example.com\">alice@example.com</a>\",\"subscriber_first_name\":\"Alice\",\"subscriber_last_name\":\"Smith\",\"subscriber_phone_number\":\"+61412345678\" }'</td>\n</tr>\n<tr>\n<td><strong>Create Member</strong></td>\n<td>Live</td>\n<td>/api/app/connect/member/create</td>\n<td>POST</td>\n<td>See Member Creation</td>\n<td>See Member Creation</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"triggers-now-live\"><strong>Triggers (Now Live)</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Trigger</strong></th>\n<th><strong>Fires when…</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Member Created</strong></td>\n<td>A new member is created via Frontcover</td>\n</tr>\n<tr>\n<td><strong>Member Status Update</strong></td>\n<td>An existing member’s status changes on Frontcover.</td>\n</tr>\n<tr>\n<td><strong>Subscriber Created</strong></td>\n<td>A new subscriber is created on Frontcover, or when an existing subscriber adds or changes their email or SMS identifier.</td>\n</tr>\n<tr>\n<td><strong>Subscriber Settings Update</strong></td>\n<td>An existing subscriber’s email or SMS notification setting changes on Frontcover.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"rate--usage-limits\"><strong>Rate &amp; usage limits</strong></h2>\n<ul>\n<li><p><strong>250 requests per minute</strong> per API key.</p>\n</li>\n<li><p>Exceeding the limit returns <strong>HTTP 429 Too Many Requests</strong></p>\n</li>\n<li><p>General terms: <a href=\"https://help.frontcover.io/en/articles/8431372-our-terms\">https://help.frontcover.io/en/articles/8431372-our-terms</a></p>\n</li>\n</ul>\n<hr />\n<h2 id=\"error-handling\"><strong>Error handling</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Scenario</strong></th>\n<th><strong>HTTP code</strong></th>\n<th><strong>Example body</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation error (e.g. missing email)</td>\n<td>400</td>\n<td>{\"data\":false,\"url\":null,\"message\":\"Subscriber email not provided or invalid\"}</td>\n</tr>\n<tr>\n<td>Bad auth</td>\n<td>401</td>\n<td>{\"data\":false,\"url\":null,\"message\":\"Invalid API key or community slug\"}</td>\n</tr>\n<tr>\n<td>Rate limit exceeded</td>\n<td>429</td>\n<td>{\"data\":false,\"url\":null,\"message\":\"Rate limit exceeded\"}</td>\n</tr>\n<tr>\n<td>Server error</td>\n<td>5xx</td>\n<td>{\"data\":false,\"url\":null,\"message\":\"Internal server error\"}</td>\n</tr>\n</tbody>\n</table>\n</div><p>Same three-field JSON structure for all errors: <strong>data</strong>, <strong>url</strong>, <strong>message</strong>.</p>\n<hr />\n<h2 id=\"versioning\"><strong>Versioning</strong></h2>\n<p>These docs describe <strong>Frontcover API v2.1.0</strong>. Version number is informational only; it is not present in the request paths or headers.</p>\n<hr />\n<h2 id=\"resources--samples\"><strong>Resources &amp; samples</strong></h2>\n<ul>\n<li><strong>Postman collection</strong></li>\n</ul>\n<p>Questions? Email <a href=\"https://mailto:community@frontcover.io\"><b>community@frontcover.io</b></a> or open the chat widget on <strong>frontcover.io</strong>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"24eb6254-0eb2-4f5e-9bce-e09c998c4300","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"da65dccf-d668-4f12-9287-ad50ce2c1da4","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"38fe5c6a-ef08-4e1c-8125-981407b99237"},{"name":"Member Verification","item":[{"name":"Verify Member Pass QR Code Value","id":"0b52794b-7cec-4e79-aff6-ea96ee112bcb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/api/walletpass/test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18/verify?cardId=TES001&email=ethanyang1998%40gmail.com&firstName=Ethan&lastName=Yang\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify","urlObject":{"path":["api","walletpass","verify"],"host":["https://www.frontcover.io"],"query":[],"variable":[]}},"response":[{"id":"6b7b1832-06d0-4571-8d37-120961d033be","name":"Valid Member Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/api/walletpass/test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18/verify?cardId=TES001&email=ethanyang1998%40gmail.com&firstName=Ethan&lastName=Yang\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Fri, 15 Aug 2025 03:08:19 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"status\": \"deactivated\",\n        \"member_id\": \"TES001\",\n        \"is_email_match\": true,\n        \"is_first_name_match\": true,\n        \"is_last_name_match\": true,\n        \"community_url\": \"http://localhost:3000/lofical\",\n        \"membership_slug\": \"test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18\",\n        \"membership_name\": \"test membership\",\n        \"checked_at\": \"2025-08-15T03:08:19.376Z\"\n    },\n    \"message\": \"Member found\",\n    \"code\": \"OK\"\n}"},{"id":"5c55afa3-05e5-4e93-86d9-4489782563d6","name":"Valid Member with Wrong Name","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/api/walletpass/test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18/verify?cardId=TES001&email=ethanyang1998%40gmail.com&firstName=WrongName&lastName=WrongName\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Fri, 15 Aug 2025 03:12:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"status\": \"deactivated\",\n        \"member_id\": \"TES001\",\n        \"is_email_match\": true,\n        \"is_first_name_match\": false,\n        \"is_last_name_match\": false,\n        \"community_url\": \"http://localhost:3000/lofical\",\n        \"membership_slug\": \"test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18\",\n        \"membership_name\": \"test membership\",\n        \"checked_at\": \"2025-08-15T03:12:46.385Z\"\n    },\n    \"message\": \"Member found\",\n    \"code\": \"OK\"\n}"},{"id":"b9b5ea1b-0275-4e68-aea4-e88be79c01cf","name":"Malformed Payload","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/malformed_api_endpoint\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Fri, 15 Aug 2025 03:10:08 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"data\": null,\n    \"message\": \"Invalid data payload\",\n    \"code\": \"NOT_FOUND\"\n}"},{"id":"6b05c5f6-9554-4c4c-8eff-7162c5f9c997","name":"Invalid Membership (e.g. Archived Membership)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/api/walletpass/wrong_membership/verify?cardId=TES001&email=ethanyang1998%40gmail.com&firstName=Ethan&lastName=Yang\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Fri, 15 Aug 2025 03:10:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"data\": null,\n    \"message\": \"Membership does not exist\",\n    \"code\": \"NOT_FOUND\"\n}"},{"id":"5c2e7050-bcbf-45d9-846b-735083912d82","name":"Member Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"member_pass_qr_value\": \"https://www.frontcover.io/api/walletpass/test-membership_lofical_wx7nfzy7qvmyq5f0tyhm18/verify?cardId=WRONG_MEMBER_ID&email=ethanyang1998%40gmail.com&firstName=Ethan&lastName=Yang\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/walletpass/verify"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Fri, 15 Aug 2025 03:12:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Member not found\",\n    \"code\": \"MEMBER_NOT_FOUND\"\n}"}],"_postman_id":"0b52794b-7cec-4e79-aff6-ea96ee112bcb"}],"id":"4486524d-15cd-4db5-8103-e38ca5b5dd2b","description":"<h1 id=\"frontcover-public-member-verification-api-endpoint\">Frontcover Public Member Verification API Endpoint</h1>\n<h2 id=\"overview\"><strong>Overview</strong></h2>\n<p>The <strong>Public Member Verification API</strong> allows third-party apps to verify a <strong>Frontcover Member Pass</strong> by scanning its QR code.</p>\n<p>Given the QR code value, the API checks if the corresponding member exists in the Frontcover system and returns their <strong>current status</strong> along with optional <strong>identity-match indicators</strong>.</p>\n<h2 id=\"how-it-works\"><strong>How it works</strong></h2>\n<ul>\n<li><p>Every <strong>Frontcover Member Pass</strong> (Apple Wallet &amp; Google Wallet), whether batch-issued or self-onboarded, contains a <strong>QR code encoded in ISO-8859-1</strong>.</p>\n</li>\n<li><p>The QR code value is a <strong>Frontcover URL</strong> with public, non-sensitive fields embedded as query parameters (e.g., cardId, email, firstName, lastName).</p>\n</li>\n<li><p>When your app scans the QR code, send the <strong>full URL value</strong> to this API to retrieve the latest verification result.</p>\n</li>\n</ul>\n<h2 id=\"your-integration-responsibilities\"><strong>Your integration responsibilities</strong></h2>\n<ul>\n<li><p><strong>Call the endpoint</strong>: POST /api/walletpass/verify with <strong>member_pass_qr_value</strong> as payload.</p>\n</li>\n<li><p><strong>Interpret the response</strong>:</p>\n<ul>\n<li><p>success — whether the request is valid (we got a valid payload contains valid URL extracted from the Member Pass QR code)</p>\n</li>\n<li><p>data — whether a matching member record exists</p>\n<ul>\n<li><p>status — member’s current status (active | pending | suspended | deactivated | expired)</p>\n</li>\n<li><p>expire_at — presents if the member has a expire_at timestamp in UTC ISO format</p>\n</li>\n<li><p>is_email_match, is_first_name_match, is_last_name_match — optional identity checks if you provided those fields.</p>\n</li>\n<li><p>community_url — Frontcover Community Link</p>\n</li>\n<li><p>community_name — Frontcover Community Name</p>\n</li>\n<li><p>membership_slug</p>\n</li>\n<li><p>membership_name — Frontcover Membership Name</p>\n</li>\n<li><p>checked_at — UTC ISO format timestamp you checked the result</p>\n</li>\n</ul>\n</li>\n<li><p>message</p>\n<ul>\n<li>Request response message</li>\n</ul>\n</li>\n<li><p>code</p>\n<ul>\n<li><p>ENUM string interpret the response</p>\n<ul>\n<li><p>OK</p>\n</li>\n<li><p>NOT_FOUND</p>\n</li>\n<li><p>MEMBER_NOT_FOUND</p>\n</li>\n<li><p>INTERNAL_ERROR</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"notes--best-practices\"><strong>Notes &amp; best practices</strong></h2>\n<ul>\n<li><p><strong>Security/Privacy:</strong> The QR code contains only public fields required for verification.</p>\n</li>\n<li><p><strong>Freshness:</strong> Always call this API to confirm <strong>real-time status</strong> — memberships can be revoked or expire after the QR is issued.</p>\n</li>\n<li><p><strong>CORS &amp; Rate Limits:</strong></p>\n<ul>\n<li><p>CORS is enabled for all origins.</p>\n</li>\n<li><p>Implement client-side retry/backoff if you receive HTTP 429 responses.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Backward Compatibility:</strong></p>\n<ul>\n<li><p>Our system use memberId.</p>\n</li>\n<li><p>QR codes may use cardId — treat it as equivalent.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p><strong>In short:</strong> <strong>Scan → Extract → Verify</strong></p>\n<p>Your app reads the QR code, extracts the URL, and calls this API to confirm the member’s validity and current status — in real time.</p>\n","_postman_id":"4486524d-15cd-4db5-8103-e38ca5b5dd2b"},{"name":"Member Creation","item":[{"name":"Create a member and retrieve Member Pass","id":"8b999866-15f1-4e73-85cc-39118c447659","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"test-new-notification-settings_test_2taj914slce7i8yjmfv4nw\",\n    \"member_id\": \"NOTIFTEST\",\n    \"member_email\": \"ethan+1234@frontcover.io\",\n    \"member_phone_number\": \"+61478176286\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Test\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"0fc28909-f1cf-4df7-aafb-6f65ee983b92","id":"0fc28909-f1cf-4df7-aafb-6f65ee983b92","name":"Member Creation","type":"folder"}},"urlObject":{"path":["api","app","connect","member","create"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"f96e42dd-20a1-451d-9600-cddce9789c08","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"TEST_MEMBER_ID\",\n    \"member_email\": \"ethan+1@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:42:08 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/member/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::bdzht-1755661324878-8ac05065ca9b"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"member_id\": \"TEST_MEMBER_ID\",\n        \"member_pass_frontcover_direct_url\": \"https://www.frontcover.io/test/wallet-pass?id=h6rCwdwVDkBwLqr7\",\n        \"member_pass_apple_direct_download_url\": \"https://s3.ap-southeast-2.amazonaws.com/lc-apple-wallet-enterprise/pass.au.com.lc.dev.freetier/wSAIdccSV8gLrz0rZTsnT/20-08-2025/apple-wallet-vamg6ui1mztigt0wff7ohclt6ewrqmyusg3qancusq.pkpass\",\n        \"member_pass_google_direct_download_url\": \"https://pay.google.com/gp/v/save/{{vault:json-web-token}}\",\n        \"status\": \"active\",\n        \"member_metadata\": {\n            \"email\": \"ethan+1@frontcover.io\",\n            \"phone\": \"+61412345678\",\n            \"firstName\": \"Ethan\",\n            \"lastName\": \"Frontcover\",\n            \"memberID\": \"TEST_MEMBER_ID\"\n        },\n        \"membership_slug\": \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n        \"membership_name\": \"Latest Member Pass\",\n        \"community_slug\": \"test\",\n        \"community_name\": \"test community\"\n    },\n    \"success\": true,\n    \"message\": \"Member created successfully\",\n    \"code\": \"OK\"\n}"},{"id":"673633a2-6d8c-4f13-b532-217789019961","name":"Invalid Membership Slug","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"Malformed_Membership_slug\",\n    \"member_id\": \"TEST_MEMBER_ID\",\n    \"member_email\": \"ethan+1@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:42:52 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/member/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::5wrlr-1755661371989-0c617c10f0c3"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": null,\n    \"message\": \"Membership or Community not found\",\n    \"code\": \"NOT_FOUND\"\n}"},{"id":"09e56714-8b8d-4864-9980-2d1d1ba1dbd9","name":"Exceeded Usage Allowance","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"Malformed_Membership_slug\",\n    \"member_id\": \"TEST_MEMBER_ID\",\n    \"member_email\": \"ethan+1@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:42:52 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/member/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::5wrlr-1755661371989-0c617c10f0c3"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\" : false,\n    \"data\": null,\n    \"message\": \"You have exceeded the usage allowance for adding new member. Please upgrade to Frontcover Pro\",\n    \"code\": \"PLAN_ALLOWANCE_EXCEEDED\"\n}"},{"id":"feed7569-ba96-4c78-82c3-a30969aca7a8","name":"Conflict Member ID","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"TEST_MEMBER_ID\",\n    \"member_email\": \"ethan+1@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:43:19 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/member/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::sbqt9-1755661398925-6757be28c4f7"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": null,\n    \"success\": false,\n    \"message\": \"Member ID already exists\",\n    \"code\": \"BAD_REQUEST\"\n}"},{"id":"2a2520b5-a95b-4f8f-9b15-caf0ebee1578","name":"Conflict Member Email","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"TEST_MEMBER_ID_NON_CONFLICT\",\n    \"member_email\": \"ethan+1@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:44:14 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/member/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::l8jp5-1755661453919-845612adb503"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": null,\n    \"success\": false,\n    \"message\": \"An active member already exists with the same email\",\n    \"code\": \"BAD_REQUEST\"\n}"},{"id":"a7471fd9-a12c-4e4c-bde8-ad03a8fc90f5","name":"Expired Member","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"EXPIRED_MEMBER_TEST\",\n    \"member_email\": \"ethan+2@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": \"2025-01-01\",\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:46:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"member_id\": \"EXPIRED_MEMBER_TEST\",\n        \"member_pass_frontcover_direct_url\": \"http://localhost:3000/test/wallet-pass?id=1Up2ZdLDl1uNdvHoi\",\n        \"member_pass_apple_direct_download_url\": null,\n        \"member_pass_google_direct_download_url\": null,\n        \"status\": \"expired\",\n        \"expired_at\": \"2025-01-01T00:00:00.000Z\",\n        \"member_metadata\": {\n            \"email\": \"ethan+2@frontcover.io\",\n            \"phone\": \"+61412345678\",\n            \"firstName\": \"Ethan\",\n            \"lastName\": \"Frontcover\",\n            \"memberID\": \"EXPIRED_MEMBER_TEST\"\n        },\n        \"membership_slug\": \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n        \"membership_name\": \"Latest Member Pass\",\n        \"community_slug\": \"test\",\n        \"community_name\": \"test community\"\n    },\n    \"success\": true,\n    \"message\": \"Member created successfully\",\n    \"code\": \"OK\"\n}"},{"id":"cc1feeef-3af3-4029-ac5b-e7bc60c9382d","name":"Invalid Expired At","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"EXPIRED_MEMBER_TEST\",\n    \"member_email\": \"ethan+2@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": \"invalid_expired_at\",\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:48:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": null,\n    \"success\": false,\n    \"message\": \"Expired date is not valid\",\n    \"code\": \"INVALID_PAYLOAD\"\n}"},{"id":"fe9e14b7-6f3d-42d7-a0a3-f0c9f6ceb359","name":"Approval Required","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"membership_slug\" : \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n    \"member_id\": \"PENDING_MEMBER_TEST\",\n    \"member_email\": \"ethan+3@frontcover.io\",\n    \"member_phone_number\": \"+61412345678\",\n    \"member_first_name\": \"Ethan\",\n    \"member_last_name\": \"Frontcover\",\n    \"expired_at\": null,\n    \"send_welcome_email_notification\": true,\n    \"require_approval\": true\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/member/create?community_slug=test","host":["https://www.frontcover.io"],"path":["api","app","connect","member","create"],"query":[{"key":"community_slug","value":"test"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"content-type","value":"application/json"},{"key":"Date","value":"Wed, 20 Aug 2025 03:48:45 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"member_id\": \"PENDING_MEMBER_TEST\",\n        \"member_pass_frontcover_direct_url\": \"http://localhost:3000/test/wallet-pass?id=IdcbDGaqQh3jJLDj\",\n        \"member_pass_apple_direct_download_url\": null,\n        \"member_pass_google_direct_download_url\": null,\n        \"status\": \"pending\",\n        \"member_metadata\": {\n            \"email\": \"ethan+3@frontcover.io\",\n            \"phone\": \"+61412345678\",\n            \"firstName\": \"Ethan\",\n            \"lastName\": \"Frontcover\",\n            \"memberID\": \"PENDING_MEMBER_TEST\"\n        },\n        \"membership_slug\": \"latest-member-pass_test_oluje2vk5ya29we9updm\",\n        \"membership_name\": \"Latest Member Pass\",\n        \"community_slug\": \"test\",\n        \"community_name\": \"test community\"\n    },\n    \"success\": true,\n    \"message\": \"Member created successfully\",\n    \"code\": \"OK\"\n}"}],"_postman_id":"8b999866-15f1-4e73-85cc-39118c447659"}],"id":"0fc28909-f1cf-4df7-aafb-6f65ee983b92","description":"<h1 id=\"frontcover-connect-member-creation-api-endpoint\">Frontcover Connect Member Creation API Endpoint</h1>\n<h2 id=\"overview\"><strong>Overview</strong></h2>\n<p>Creates a new member for a membership inside a Frontcover community via the Frontcover Connect integration (intended for third-party apps / Zapier-like integrations). The endpoint validates inputs, optionally generates a unique member ID, creates a wallet pass (Apple + Google) when appropriate, upserts the member record, and optionally send a welcome email.</p>\n<h2 id=\"authentication\"><strong>Authentication</strong></h2>\n<ul>\n<li><p>Header-based API key required:</p>\n<ul>\n<li>Authorization: <strong>Bearer</strong></li>\n</ul>\n</li>\n<li><p>Query Parameter Community Slug required — identifies the target community. Missing or invalid community_slug returns <strong>400 / 401</strong> depending on validation stage.</p>\n<ul>\n<li>?community_slug=</li>\n</ul>\n</li>\n<li><p>The request will be rejected with <strong>401 Unauthorized</strong> if the API key is missing or invalid.</p>\n</li>\n</ul>\n<h2 id=\"how-it-works\"><strong>How it works</strong></h2>\n<p>Top-level object — fields listed with validation rules:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"membership_slug\": \"string\",            // REQUIRED — membership slug in the target community\n  \"member_id\": \"string|null\",             // OPTIONAL — client-supplied unique_member_id (&lt;= 100 chars)\n  \"member_email\": \"string\",               // REQUIRED — must be valid email\n  \"member_phone_number\": \"string|null\",   // OPTIONAL — REQURED if membership requires phone number, must be valid if provided (recommended E.164)\n  \"member_first_name\": \"string\",          // REQUIRED — trimmed, max 50 chars\n  \"member_last_name\": \"string|null\",      // OPTIONAL — trimmed, max 50 chars\n  \"expired_at\": \"string|null\",            // OPTIONAL — ISO date/time string recommended; parsed via new Date()\n  \"send_welcome_email_notification\": true|false, // OPTIONAL — default false\n  \"require_approval\": true|false                  // OPTIONAL — default false\n}\n\n</code></pre>\n<h3 id=\"input-validation-what-the-endpoint-checks\"><strong>Input validation (what the endpoint checks)</strong></h3>\n<ul>\n<li><p>JSON body parseability.</p>\n</li>\n<li><p>Required: <strong>membership_slug</strong>, <strong>member_email</strong>, <strong>member_first_name</strong>.</p>\n</li>\n<li><p>member_first_name / member_last_name length (&lt;=50).</p>\n</li>\n<li><p>member_id length (&lt;=100) if supplied.</p>\n</li>\n<li><p>member_id is unique against the membership.</p>\n</li>\n<li><p>member_email is unique against all active members from the membership.</p>\n</li>\n<li><p>member_phone_number is valid if supplied. (Start with '+' with national code)</p>\n<ul>\n<li><strong>Note:</strong> If target membership is configured to require phone number (within Frontcover membership set up flow), this field becomes required. Otherwise a 400 response will be returned.</li>\n</ul>\n</li>\n<li><p>expired_at is a valid ISO 8601 datetime string in UTC timezone if supplied.</p>\n<ul>\n<li>eg. <code>'2025-01-01'</code></li>\n</ul>\n</li>\n</ul>\n<h3 id=\"status-derivation-rules\"><strong>Status derivation rules</strong></h3>\n<ul>\n<li><p>If <code>require_approval === true</code> -&gt; status will be \"<strong>pending</strong>\" (no wallet pass created). You need to approve member manually via the community dashboard on Frontcover.</p>\n</li>\n<li><p>If expired_at provided:</p>\n<ul>\n<li><p>Status will be \"<strong>expired</strong>\" if <code>expired_at &lt; now</code> (no wallet pass created)</p>\n</li>\n<li><p>otherwise status will be \"<strong>active</strong>\"</p>\n</li>\n</ul>\n</li>\n<li><p>Else -&gt; status will be \"<strong>active</strong>\"</p>\n</li>\n</ul>\n<h3 id=\"member-id-generation\"><strong>Member ID generation</strong></h3>\n<p>If <strong>member_id</strong> is not provided, the system will generate a unique <strong>member_id</strong> for the membership following Frontcover’s standard onboarding rules:<br />• If the membership has a configured <strong>member_id_prefix</strong> (from the membership set up flow), we use that prefix + a min-3-digit, left-padded, auto-incrementing number.<br />• If no prefix is configured, we use the first three characters of the <strong>membership_slug</strong> (uppercased) + the same min-3-digit, left-padded, auto-incrementing number.</p>\n<p>The numeric suffix is incremented per membership, producing IDs like 001, 002, 003, etc.</p>\n<h4 id=\"examples\">Examples</h4>\n<ul>\n<li><p>member_id omitted → auto-generated: <code>ABC001</code></p>\n</li>\n<li><p>You defined prefix <code>FRCV</code> → auto-generated: <code>FRCV001</code></p>\n</li>\n<li><p>member_id provided in request:<code>{ \"member_id\": \"MY_MEMBER_ID\" }</code> -&gt; stored exactly as <code>MY_MEMBER_ID</code></p>\n</li>\n</ul>\n<p><strong>Notes</strong><br />• Provided member_id must be unique within the membership; if it conflicts the request will be rejected.</p>\n<h3 id=\"email-notification\">Email Notification</h3>\n<ul>\n<li><p>If <code>send_welcome_email_notification === true</code> and status is <strong>active</strong>, the endpoint initiates sending a welcome email from Frontcover.</p>\n<ul>\n<li><strong>Note:</strong> Whether to send a welcome email via this API is fully depends on <code>send_welcome_email_notification</code> boolean flag regardless of the 'Send Welcome Email' checkbox value from 'Edit Membership' -&gt; 'Set Key Dates + Publish' -&gt; 'Member Notification' section.</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"your-integration-responsibilities\"><strong>Your integration responsibilities</strong></h2>\n<p>When integrating with this endpoint, ensure you:</p>\n<ul>\n<li><p>Authenticate correctly</p>\n<ul>\n<li><p>Set Authorization: Bearer header.</p>\n</li>\n<li><p>You can obtain the API KEY from the Frontcover Community Dashboard (Frontcover Connect)</p>\n</li>\n</ul>\n</li>\n<li><p>Send valid JSON with correct content-type</p>\n</li>\n<li><p>Provide required fields and follow validation rules</p>\n</li>\n<li><p>Decide whether to provide a member_id</p>\n<ul>\n<li>If you provide <strong>member_id</strong> you must ensure uniqueness per membership. If omitted, the server will auto-generate but this is subject to race conditions in high concurrency.</li>\n</ul>\n</li>\n<li><p>Handle responses and errors</p>\n<ul>\n<li><p>Treat 2xx as success.</p>\n</li>\n<li><p>For 4xx errors: correct the payload or authentication accordingly.</p>\n</li>\n<li><p>For 5xx errors: retry policy is your responsibility. Expect wallet-pass creation to be synchronous; transient failures may require retries or alerting</p>\n</li>\n</ul>\n</li>\n<li><p>Respect rate-limits</p>\n<ul>\n<li>Implement client-side rate limiting and exponential backoff for retries.</li>\n</ul>\n</li>\n<li><p>Protect secrets &amp; logs</p>\n<ul>\n<li><p>Never put API keys in query strings or public logs. DO not full request bodies with sensitive data in production</p>\n</li>\n<li><p><strong>Note</strong> that we don't save your API key, all authentification on our end is done by SALT based HASHING. If you lost your API key, the best way is regenerating one via Frontcover Community Dashboard.</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"82fec588-8d42-4e57-8099-026b6853d8cf","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"3f212d1a-6d73-4f66-b3e0-0d9a70cd69d6","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"0fc28909-f1cf-4df7-aafb-6f65ee983b92"},{"name":"Subscriber Creation","item":[{"name":"Create a subscription record to your Frontcover Community","event":[{"listen":"test","script":{"id":"e038d9da-0b52-43ff-8a0a-cd0ab171473a","exec":[""],"type":"text/javascript","packages":{}}}],"id":"4711eeb6-8014-4a9a-986f-32ceb5fd3c05","protocolProfileBehavior":{"disabledSystemHeaders":{}},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace123+new@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61471234\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.frontcover.io/api/app/connect/subscriber/create?community_slug=test","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"49f51360-d627-4814-b63b-977cbd2419f0","id":"49f51360-d627-4814-b63b-977cbd2419f0","name":"Subscriber Creation","type":"folder"}},"urlObject":{"path":["api","app","connect","subscriber","create"],"host":["https://www.frontcover.io"],"query":[{"key":"community_slug","value":"test"}],"variable":[]}},"response":[{"id":"eff5635a-6c59-4633-921d-fa42d16e31f1","name":"Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key={{vault:authorization-secret---uuid}}&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"{{vault:authorization-secret---uuid}}"},{"key":"community_slug","value":"society9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Encoding","value":"br"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:43:54 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::w4f7z-1753083834469-6b21248865b3"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": \"e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"url\": \"https://www.frontcover.io/society9/subscription?subscription_id=e871a0d3-406b-4475-a37b-c7131e8ce7bb\",\n    \"message\": \"Subscriber created successfully\"\n}"},{"id":"111c2611-2daa-4685-a1db-719687a49fb2","name":"Unauthorized Access","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key=1234&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"1234"},{"key":"community_slug","value":"society9"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:45:51 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::vvk25-1753083951767-1e7f2f96f0ef"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"url\": null,\n    \"message\": \"Unauthorized\"\n}"},{"id":"73f6d19d-e641-448b-b697-8259b9c6a9ae","name":"Exceeded Usage Allowance","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"subscriber_email\": \"squarespace@test.com\",\n    \"subscriber_first_name\": \"Joe\",\n    \"subscriber_last_name\": \"Doe\",\n    \"subscriber_phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key=1234&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"1234"},{"key":"community_slug","value":"society9"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:45:51 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::vvk25-1753083951767-1e7f2f96f0ef"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"url\": null,\n    \"message\": \"You have exceeded the usage allowance for adding new subscriber. Please upgrade to Frontcover Pro\",\n    \"code\": \"PLAN_ALLOWANCE_EXCEEDED\",\n    \"success\": false\n}"},{"id":"0519572e-4ab1-46c6-b2e9-ef039f6d5353","name":"Malformed Request Body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"squarespace@test.com\",\n    \"first_name\": \"Joe\",\n    \"last_name\": \"Doe\",\n    \"phone_number\": \"+61123456789\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://www.frontcover.io/api/app/connect/zapier/subscriber/create?frontcover_connect_api_key={{vault:authorization-secret---uuid}}&community_slug=society9","host":["https://www.frontcover.io"],"path":["api","app","connect","zapier","subscriber","create"],"query":[{"key":"frontcover_connect_api_key","value":"{{vault:authorization-secret---uuid}}"},{"key":"community_slug","value":"society9"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version"},{"key":"Access-Control-Allow-Methods","value":"GET,DELETE,PATCH,POST,PUT"},{"key":"Access-Control-Allow-Origin","value":"https://www.frontcover.io, https://frontcover.io"},{"key":"Cache-Control","value":"public, max-age=0, must-revalidate"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 21 Jul 2025 07:46:49 GMT"},{"key":"Server","value":"Vercel"},{"key":"Strict-Transport-Security","value":"max-age=63072000"},{"key":"Vary","value":"RSC, Next-Router-State-Tree, Next-Router-Prefetch"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Matched-Path","value":"/api/app/connect/zapier/subscriber/create"},{"key":"X-Vercel-Cache","value":"MISS"},{"key":"X-Vercel-Id","value":"syd1::syd1::6x456-1753084009470-79391369a235"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": false,\n    \"url\": null,\n    \"message\": \"Subscriber email not provided or invalid\"\n}"}],"_postman_id":"4711eeb6-8014-4a9a-986f-32ceb5fd3c05"}],"id":"49f51360-d627-4814-b63b-977cbd2419f0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"1e18831c-6304-454a-be89-e20cdd534a68","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"6435de96-dc9b-4954-9f1a-cf68321ca2fe","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"49f51360-d627-4814-b63b-977cbd2419f0","description":""}],"event":[{"listen":"prerequest","script":{"id":"43cbb97c-40d5-4a85-86b6-9215bfc91c3a","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"7617e731-b6c0-4743-b8aa-92f5a976bf48","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"id":"51bd87a6-058b-4255-8811-abb6b8a43c8a","key":"base_url","value":"https://www.frontcover.io"},{"id":"cd5aa757-e3c4-4d16-a910-c47654c3d668","key":"API-KEY","value":""}]}