> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# BulkInviteMembersToProgramByFilter

# Package: onlinePrograms

# Namespace: JoinApplicationsService

# Method link: https://dev.wix.com/docs/api-reference/business-management/online-programs/join-applications/bulk-invite-members-to-program-by-filter.md

## Permission Scopes:
Manage Online Programs: SCOPE.CHALLENGES.MANAGE

## Introduction

Asynchronously invites site members to a program.

Creates a join application with `status` set to `INVITED` for eligible site members who don't already have a join application for the program, excluding any members listed in `excludeMemberIds`. The program must be published.

To check the status of the invitations, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job.md).

To invite a specific list of members instead, call [Bulk Create Join Applications](https://dev.wix.com/docs/api-reference/business-management/online-programs/join-applications/bulk-create-join-applications.md).

---

## REST API

### Schema

```
 Method: bulkInviteMembersToProgramByFilter
 Description: Asynchronously invites site members to a program.  Creates a join application with `status` set to `INVITED` for eligible site members who don't already have a join application for the program, excluding any members listed in `excludeMemberIds`. The program must be published.  To check the status of the invitations, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job.md).  To invite a specific list of members instead, call [Bulk Create Join Applications](https://dev.wix.com/docs/api-reference/business-management/online-programs/join-applications/bulk-create-join-applications.md).
 URL: https://www.wixapis.com/online-programs/participants/v3/bulk/join-applications/invite-by-filter
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  programId
 Method parameters: 
   param name: excludeMemberIds | type: array<excludeMemberIds> | description: IDs of the site members to exclude from the invitation.  | validation: minItems 0, maxItems 100, format GUID
   param name: programId | type: programId | description: GUID of the program to invite members to. | required: true | validation: format GUID
 Return type: BulkInviteMembersToProgramByFilterResponse
  - name: jobId | type: string | description: Job GUID. Pass this GUID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job.md) to retrieve the status of the asynchronous operation.  | validation: format GUID

 Possible Errors:
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROGRAM_NOT_FOUND | Description: The specified `programId` doesn't exist.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: PREMIUM_PLAN_REQUIRED | Description: The site needs a Premium plan to add more participants.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: PROGRAM_NOT_PUBLISHED | Description: The program exists but isn't published.


```

### Examples

### Bulk invite members to program by filter
Starts an async job that invites site members to a program

```curl
curl -X POST \
'https://www.wixapis.com/online-programs/participants/v3/bulk/join-applications/invite-by-filter' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "programId": "8d3f2b9f-2c31-4f45-8e5a-1f4b9259a6c2",
  "excludeMemberIds": [
    "2a01d8c7-54e5-4f42-9c9f-7a5d4d2ec4f1"
  ]
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.onlinePrograms.joinApplications.bulkInviteMembersToProgramByFilter(programId, options)
 Description: Asynchronously invites site members to a program.  Creates a join application with `status` set to `INVITED` for eligible site members who don't already have a join application for the program, excluding any members listed in `excludeMemberIds`. The program must be published.  To check the status of the invitations, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job.md).  To invite a specific list of members instead, call [Bulk Create Join Applications](https://dev.wix.com/docs/api-reference/business-management/online-programs/join-applications/bulk-create-join-applications.md).
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  programId
 Method parameters: 
   param name: options | type: BulkInviteMembersToProgramByFilterOptions  none  
        - name: excludeMemberIds | type: array<string> | description: IDs of the site members to exclude from the invitation.  | validation: minItems 0, maxItems 100, format GUID
   param name: programId | type: string | description: GUID of the program to invite members to. | required: true | validation: format GUID
 Return type: PROMISE<BulkInviteMembersToProgramByFilterResponse>
  - name: jobId | type: string | description: Job GUID. Pass this GUID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job.md) to retrieve the status of the asynchronous operation.  | validation: format GUID

 Possible Errors:
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROGRAM_NOT_FOUND | Description: The specified `programId` doesn't exist.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: PREMIUM_PLAN_REQUIRED | Description: The site needs a Premium plan to add more participants.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: PROGRAM_NOT_PUBLISHED | Description: The program exists but isn't published.


```

### Examples

### Bulk invite members to a program
Starts an asynchronous job that invites site members to a program

```javascript
import { joinApplications } from "@wix/online-programs";

async function bulkInviteMembersToProgramByFilter() {
  const response = await joinApplications.bulkInviteMembersToProgramByFilter(
    "8d3f2b9f-2c31-4f45-8e5a-1f4b9259a6c2",
    { excludeMemberIds: ["2a01d8c7-54e5-4f42-9c9f-7a5d4d2ec4f1"] },
  );
}

/* Promise resolves to:
 * {
 *   "jobId": "143a19ce-96d8-4501-b38e-4bd9ce35538f"
 * }
 */

```

### bulkInviteMembersToProgramByFilter (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { joinApplications } from '@wix/online-programs';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { joinApplications },
  // Include the auth strategy and host as relevant
});


async function bulkInviteMembersToProgramByFilter(programId,options) {
  const response = await myWixClient.joinApplications.bulkInviteMembersToProgramByFilter(programId,options);
};
```

---