← All action domains

Members

15 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Archive an access product

members.archive_productwriteadmin only

Archive an access product so it can no longer be granted or chosen. Existing grants and any pages already gated on it keep working; archived just hides it from the pickers.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe access product's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.archive_product \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_archive_product at https://app.chirply.io/api/mcp, same bearer token, same input.

Create an access product

members.create_productwriteadmin only

Create an access product — a named unit of access (e.g. 'Gold Course') you can gate pages behind and grant to members. Creating it grants no one anything on its own.

Parameters

FieldTypeRequiredDescription
namestringrequiredThe product name, shown to members on the locked screen.
descriptionstringoptionalInternal note about what this unlocks.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.create_product \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example"
  }'
Test with your API key

Over MCP the same operation is the tool members_create_product at https://app.chirply.io/api/mcp, same bearer token, same input.

Open a site member

members.getread

Fetch one site member by id, with the CRM contact it's linked to.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe site member's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.get \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_get at https://app.chirply.io/api/mcp, same bearer token, same input.

Grant a member access

members.grant_accesswriteadmin only

Grant a contact an access product, unlocking every page gated on it. Idempotent — re-granting a revoked one turns it back on. Identify the person by contact_id or by member email.

Parameters

FieldTypeRequiredDescription
product_idstring (uuid)requiredThe access product to grant.
contact_idstring (uuid)optionalThe CRM contact to grant it to.
emailstring (email)optionalAlternatively, the member's email.
notestringoptionalWhy it was granted (kept on the grant).

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.grant_access \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_grant_access at https://app.chirply.io/api/mcp, same bearer token, same input.

Add a site member

members.invitewriteconfirmadmin only

Create a member (login) account for an email address, linking or creating the CRM contact behind it. Optionally email them a sign-in link right now — that sends a REAL email from the account's own email provider. Passwordless: they set no password unless they choose to.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
emailstring (email)requiredThe person's email address — the account's login.
first_namestringoptionalGiven name, stored on the contact if new.
last_namestringoptionalFamily name, stored on the contact if new.
send_linkbooleanoptionalEmail them a sign-in link/code immediately (requires funnel_id and a connected email provider). Default: false
funnel_idstring (uuid)optionalThe funnel/site the sign-in link should point at. Required when send_link is true.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.invite \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com"
  }'
Test with your API key

Over MCP the same operation is the tool members_invite at https://app.chirply.io/api/mcp, same bearer token, same input.

List site members

members.listread

List the site members (end users with login access to this account's funnels/websites), newest first. Optionally filter by status or search by email. These are the tenant's own customers/leads who signed up for a members area — not platform staff accounts.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0
status"active" | "suspended"optionalOnly members in this status.
querystringoptionalText to match in the member's email.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.list \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 25,
    "offset": 0
  }'
Test with your API key

Over MCP the same operation is the tool members_list at https://app.chirply.io/api/mcp, same bearer token, same input.

List a member's access

members.list_entitlementsread

List the access products a contact currently holds (and any revoked ones), newest first.

Parameters

FieldTypeRequiredDescription
contact_idstring (uuid)optionalThe CRM contact.
emailstring (email)optionalAlternatively, the member's email.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.list_entitlements \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "email": "ada@example.com"
  }'
Test with your API key

Over MCP the same operation is the tool members_list_entitlements at https://app.chirply.io/api/mcp, same bearer token, same input.

List access products

members.list_productsread

List this account's access products — the named units of access you gate pages behind and grant to members. Excludes archived ones unless include_archived is set.

Parameters

FieldTypeRequiredDescription
include_archivedbooleanoptionalInclude archived products. Default: false

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.list_products \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "include_archived": false
  }'
Test with your API key

Over MCP the same operation is the tool members_list_products at https://app.chirply.io/api/mcp, same bearer token, same input.

Remove a site member

members.removewriteconfirmadmin only

Delete a member's login account and revoke access. The linked CRM contact is kept — only the ability to log in is removed. Cannot be undone.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe site member's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.remove \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_remove at https://app.chirply.io/api/mcp, same bearer token, same input.

Revoke a member's access

members.revoke_accesswriteconfirmadmin only

Revoke a contact's access product. Pages gated on it lock again immediately. Identify the person by contact_id or member email.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
product_idstring (uuid)requiredThe access product to revoke.
contact_idstring (uuid)optionalThe CRM contact.
emailstring (email)optionalAlternatively, the member's email.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.revoke_access \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_revoke_access at https://app.chirply.io/api/mcp, same bearer token, same input.

Set a page's access

members.set_page_accesswriteadmin only

Set who can view a funnel page: 'public' (anyone), 'members' (any signed-in site member), or 'entitlement' (only members who hold a specific access product — pass product_id). A gated page shows the sign-in or no-access card instead of its content.

Parameters

FieldTypeRequiredDescription
page_idstring (uuid)requiredThe funnel page's id.
access"public" | "members" | "entitlement"requiredpublic = anyone; members = any logged-in member; entitlement = holders of product_id.
product_idstring (uuid)optionalThe access product required. Required when access is 'entitlement'.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.set_page_access \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "page_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "access": "public"
  }'
Test with your API key

Over MCP the same operation is the tool members_set_page_access at https://app.chirply.io/api/mcp, same bearer token, same input.

Turn member login on/off for a site

members.set_site_loginwriteadmin only

Enable or disable the member login area for a funnel/website. Turning it on exposes the /member sign-in routes and the Members management for that site; it does not by itself gate any page (use members.set_page_access for that).

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site's id.
enabledbooleanrequiredtrue turns member login on for this site.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.set_site_login \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "funnel_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "enabled": true
  }'
Test with your API key

Over MCP the same operation is the tool members_set_site_login at https://app.chirply.io/api/mcp, same bearer token, same input.

Suspend or reactivate a member

members.set_statuswriteconfirmadmin only

Set a member's status. 'suspended' immediately blocks new sign-ins (existing sessions stop resolving too); 'active' restores access. Reversible.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe site member's id.
status"active" | "suspended"requiredNew status.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.set_status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "status": "active"
  }'
Test with your API key

Over MCP the same operation is the tool members_set_status at https://app.chirply.io/api/mcp, same bearer token, same input.

Sign a member out everywhere

members.sign_outwriteadmin only

Revoke all of a member's active sessions, forcing them to sign in again on every device. Does not delete the account.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe site member's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/members.sign_out \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool members_sign_out at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=members — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.