---
title: "Create Membership Ban Action"
method: POST
path: "/communities/{community_id}/memberships/ban_actions"
tags: ["Communities::Memberships::BanAction"]
---

# Create Membership Ban Action

`POST /communities/{community_id}/memberships/ban_actions`

Enqueue an async background job to ban one or more community members. The action record is returned immediately with `status: queued`. Poll `GET /communities/memberships/ban_actions/{id}` until `status` is `completed`.

## Path parameters

- `community_id` integer, required

## Request body

- object
  - `communities_memberships_ban_action` CommunitiesMembershipsBanActionParameters — Communities::Memberships::BanAction
    - `target_all` boolean — When true, ban all members in the community (target_ids is ignored)
    - `target_ids` string[] — Array of membership public IDs to ban. Required when target_all is false.
    - `reason` string, nullable — Optional reason applied to each ban

## Response `201`

Created

- CommunitiesMembershipsBanActionAttributes — Base response shape shared by all community async bulk-action resources. The `status` field progresses from `queued` → `processing` → `completed`. Poll the `show` endpoint until `status` is `completed` or `performed_count` equals `target_count`.
  - `id` integer — Action ID
  - `public_id` string, nullable — Action public ID
  - `community_id` integer — ID of the Community this action belongs to
  - `target_all` boolean — When true the action targets all eligible records in the community rather than the explicit target_ids list
  - `target_ids` integer[] — Integer IDs of the targeted records (memberships or bans)
  - `failed_ids` integer[] — Integer IDs of records that could not be processed
  - `target_count` integer, nullable — Total number of records that will be processed
  - `performed_count` integer, nullable — Number of records processed so far
  - `started_at` string, date-time, nullable — Timestamp when the background job began processing
  - `completed_at` string, date-time, nullable — Timestamp when the background job finished
  - `created_at` string, date-time — Created at
  - `updated_at` string, date-time — Updated at
  - `status` 'queued' | 'processing' | 'completed' — Current status of the async action. Progresses: queued → processing → completed.
  - `reason` string, nullable — Optional reason applied to each ban created by this action

## Other responses

- `401` — Unauthorized
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/myclickfunnels/apis/clickfunnels-api.md) · [All operations](https://skmtc.net/myclickfunnels/apis/clickfunnels-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/myclickfunnels/clickfunnels-api/revisions/ae6313eaa176/schema)
