← All action domains

Community

17 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.

Award points

community.award_pointswriteconfirmadmin only

Add community points to a contact's score, or subtract them with a negative number. Points are MEMBER-VISIBLE: they move leaderboards and can change the member's level, which may unlock (or re-lock) level-gated spaces and course content, and a level-up fires the org's 'Member levels up' automations.

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
contact_idstring (uuid)requiredThe contact whose score to change.
pointsintegerrequiredPoints to add. Negative subtracts.
funnel_idstring (uuid)optionalScope the award to one group's board. Omit for org-wide points that count in every group.
notestringoptionalWhy — kept on the points ledger.

Example

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

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

Post as staff

community.create_postwriteadmin only

Publish a staff post (announcement) into a community space. Members see it in their feed immediately, marked as coming from the team, and any 'Community post created' automations fire. Authored as the acting user's contact — so this needs a signed-in user (Copilot), not an API key.

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community to post into.
space_idstring (uuid)requiredThe space the post goes in (see community.list_spaces).
titlestringrequiredThe post's headline.
bodystringrequiredThe post body (plain text; line breaks kept).
mediaobject[]optionalUp to 4 attachments — images, video embeds, or links.
media[].kind"image" | "video" | "link"requiredWhat the URL points at.
media[].urlstring (uri)requiredPublic URL of the image, video, or link.
media[].labelstringoptionalOptional caption / link text.

Example

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

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

Create a space

community.create_spacewriteadmin only

Add a space (feed category) to a community group. Members see it in the feed sidebar immediately. Optionally gate it behind a member level or an access product, or lock posting so only staff can start threads (an announcements space).

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community group gets the space.
namestringrequiredThe space's name, shown to members.
descriptionstringoptionalOne line under the name explaining what goes here.
emojistringoptionalAn emoji shown next to the name.
access"members" | "entitlement"optionalmembers = every signed-in member; entitlement = only holders of required_product_id. Default: "members"
required_product_idstring (uuid)optionalThe access product members must hold. Required when access is 'entitlement'.
min_levelintegeroptionalMembers below this community level see the space locked. 0 = everyone. Default: 0
posting_lockedbooleanoptionaltrue = only staff can start posts here (members can still comment). Default: false

Example

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

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

Delete a space

community.delete_spacewriteconfirmadmin only

Permanently delete a space AND every post, comment, and reaction inside it. Members lose that content immediately and it cannot be recovered. To hide a space without destroying content, gate it with update_space instead.

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 space to delete.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.delete_space \
  -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 community_delete_space at https://app.chirply.io/api/mcp, same bearer token, same input.

Open a post

community.get_postread

Fetch one community post with its full body, media, counters, and every published comment (threaded one level).

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe post's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.get_post \
  -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 community_get_post at https://app.chirply.io/api/mcp, same bearer token, same input.

Community settings

community.get_settingsread

Read one group's community configuration: whether the community is enabled, the description and welcome message, the level curve (level names + point thresholds), and the points awarded for post/comment likes. Also returns the EFFECTIVE levels and points rules (defaults applied), which is what members actually experience.

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community settings to read.

Example

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

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

Leaderboard

community.leaderboardread

The top point earners for a community group (or the whole account when no funnel is given), over the last 7 days, 30 days, or all time — the same board members see. All-time entries include each member's level.

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)optionalThe group to rank. Omit for an org-wide board across every group.
window"7d" | "30d" | "all"optionalRanking window: last 7 days, last 30 days, or all time. Default: "all"
limitintegeroptionalHow many entries to return. Default: 25

Example

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

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

List posts

community.list_postsread

List a community group's feed — pinned posts first, then most recent activity. Optionally narrow to one space, or include removed (moderated-away) posts to review moderation history.

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community feed to read.
space_idstring (uuid)optionalOnly posts in this space.
include_removedbooleanoptionalAlso include posts a moderator removed (members don't see these). Default: false
limitintegeroptionalMax posts to return (1–50). Default: 20
offsetintegeroptionalPosts to skip. Default: 0

Example

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

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

List spaces

community.list_spacesread

List the spaces (feed categories, e.g. 'General', 'Wins') in one community group, in display order — including each space's access rules (level gate, required access product, staff-only posting).

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community group to read.

Example

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

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

Member activity

community.member_activityread

One contact's community footprint: their points total and level (in one group or org-wide), plus their most recent posts and comments — including removed ones, so moderators see the whole picture.

Parameters

FieldTypeRequiredDescription
contact_idstring (uuid)requiredThe contact to look up.
funnel_idstring (uuid)optionalScope points/level to one group. Omit for the org-wide totals.

Example

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

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

Pin a post

community.pin_postwriteadmin only

Pin a post to the top of the feed for every member (or unpin it with pinned=false). Newest pin sits highest.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe post to pin.
pinnedbooleanoptionalfalse unpins the post. Default: true

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.pin_post \
  -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 community_pin_post at https://app.chirply.io/api/mcp, same bearer token, same input.

Remove a comment

community.remove_commentwriteconfirmadmin only

Moderate a comment away: it disappears from the post for every member immediately. The row is kept (status 'removed') and can be brought back with 'Restore a comment'.

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 comment to remove.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.remove_comment \
  -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 community_remove_comment at https://app.chirply.io/api/mcp, same bearer token, same input.

Remove a post

community.remove_postwriteconfirmadmin only

Moderate a post away: it disappears from every member's feed immediately (comments go with it). The content is kept and can be brought back with community.restore_post — but members see it vanish, so treat it as a public moderation act.

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 post to remove.
reasonstringoptionalWhy it was removed (kept for the audit trail).

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.remove_post \
  -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 community_remove_post at https://app.chirply.io/api/mcp, same bearer token, same input.

Restore a comment

community.restore_commentwriteadmin only

Bring back a comment that was removed by moderation. It reappears on its post for every member immediately.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe removed comment to restore.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.restore_comment \
  -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 community_restore_comment at https://app.chirply.io/api/mcp, same bearer token, same input.

Restore a post

community.restore_postwriteadmin only

Bring a removed post back — it reappears in members' feeds immediately.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe post to restore.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.restore_post \
  -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 community_restore_post at https://app.chirply.io/api/mcp, same bearer token, same input.

Update community settings

community.update_settingswriteadmin only

Create or update a group's community configuration. Turning `enabled` on makes the community live at the site's /c URL for signed-in members (a default 'General' space is created if none exists); turning it off takes it away immediately. Levels and points rules are member-visible: changing thresholds can re-rank existing members' levels at once. Omitted fields keep their current value.

Parameters

FieldTypeRequiredDescription
funnel_idstring (uuid)requiredThe funnel/site whose community to configure.
enabledbooleanoptionaltrue makes the community live for this site's members; false hides it.
descriptionstringoptionalShort description of the community, shown to members.
welcome_titlestringoptionalHeadline of the welcome card new members see at the top of the feed.
welcome_bodystringoptionalBody text of the welcome card.
levelsobject[]optionalThe full level curve, replacing the current one — an ordered list of {level, name, min_points}. Level 1 should have min_points 0. Members' levels are recomputed from their points against this curve.
levels[].levelintegerrequiredThe level number (1 is the starting level).
levels[].namestringrequiredWhat this level is called, shown on member profiles.
levels[].min_pointsintegerrequiredTotal points needed to reach this level. Level 1 must be 0.
points_post_likeintegeroptionalPoints a post's author earns when someone likes it. 0 disables the award.
points_comment_likeintegeroptionalPoints a comment's author earns when someone likes it. 0 disables the award.

Example

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

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

Edit a space

community.update_spacewriteadmin only

Update a space's name, description, emoji, position, access rules (level gate / required access product), or staff-only posting. Omitted fields are left alone. Tightening access hides the space from members who no longer qualify immediately.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe space to edit.
namestringoptionalNew name.
descriptionstring (or null)optionalNew description (null clears it).
emojistring (or null)optionalNew emoji (null clears it).
positionintegeroptionalSort position in the sidebar (0 = first).
access"members" | "entitlement"optionalmembers = every signed-in member; entitlement = only holders of required_product_id.
required_product_idstring (uuid) (or null)optionalThe access product members must hold (used with access 'entitlement'; null clears it).
min_levelintegeroptionalMembers below this level see the space locked. 0 = everyone.
posting_lockedbooleanoptionaltrue = only staff can start posts here.

Example

curl -X POST https://app.chirply.io/api/v1/actions/community.update_space \
  -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 community_update_space 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=community — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.