> 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

# BulkDeleteAccountCodes

# Package: eligibility

# Namespace: OrganizationService

# Method link: https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/bulk-delete-account-codes.md

## Permission Scopes:
Manage Channels Account Codes: SCOPE.CHANNELS.MANAGE_ACCOUNT_KEYS

## Introduction

Deletes multiple account codes, so their invite links can no longer be redeemed.


Each invite code is handled the same way as in
[Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md).
An invite code that belongs to a different account, is expired, or doesn't exist is
returned as a failed item instead of failing the whole call.

To delete a single account code, call [Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md).

---

## REST API

### Schema

```
 Method: bulkDeleteAccountCodes
 Description: Deletes multiple account codes, so their invite links can no longer be redeemed.   Each invite code is handled the same way as in [Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md). An invite code that belongs to a different account, is expired, or doesn't exist is returned as a failed item instead of failing the whole call.  To delete a single account code, call [Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md).
 URL: https://www.wixapis.com/channels-eligibility/v1/bulk/channels-eligibility/account-codes/delete
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  inviteCodes
 Method parameters: 
   param name: inviteCodes | type: array<inviteCodes> | description: Invite codes to delete. Each value is the `organizationInviteCode` query parameter of an invite link returned by [Generate Account Invite Links](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/generate-account-invite-links.md). | required: true | validation: minItems 1, maxItems 5000, maxLength 500
 Return type: BulkDeleteAccountCodesResponse
  - name: results | type: array<BulkDeleteAccountCodeResult> | description: Result for each invite code, in the same order as in the request. An invite code that can't be deleted, for example because it's expired, belongs to a different account, or doesn't exist, is returned as a failed item instead of failing the whole call.  | validation: minItems 1, maxItems 5000
     - name: itemMetadata | type: ItemMetadata | description: Item metadata for this invite code. `id` isn't returned. Use `originalIndex` to match the result to the invite code's position in the request's `inviteCodes` array.  
        - name: id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.  | validation: format GUID
        - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items.  | validation: minimum 0
        - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned.  
        - name: error | type: ApplicationError | description: Details about the error in case of failure.  
           - name: code | type: string | description: Error code.  
           - name: description | type: string | description: Description of the error.  
           - name: data | type: object | description: Data related to the error.  
  - name: bulkActionMetadata | type: BulkActionMetadata | description: Bulk action metadata.  
     - name: totalSuccesses | type: integer | description: Number of items that were successfully processed.  | validation: minimum 0
     - name: totalFailures | type: integer | description: Number of items that couldn't be processed.  | validation: minimum 0
     - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded.  | validation: minimum 0


```

### Examples

### Bulk delete account codes
```curl
curl -X POST \
'https://www.wixapis.com/channels-eligibility/v1/bulk/channels-eligibility/account-codes/delete' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "inviteCodes": [
    "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..q3Xk9mPzT2vL8nRw4bYc1A.Hf7sK2mQ9xV4pL6tN1rW8eZ3uB5yC0dJ.Ra4Tn8Wq2Ls6Xv1Kp9Bm3g",
    "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..Lr7Tb2WnX5cQ8mPa1vKs3D.Mc2vR8tY5nK1wQ7pL4xZ9bH6sE3jF0gA.Uy6Pk1Rz9Nf4Wc2Lt7Hq5e"
  ]
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.channels.accountCodes.bulkDeleteAccountCodes(inviteCodes)
 Description: Deletes multiple account codes, so their invite links can no longer be redeemed.   Each invite code is handled the same way as in [Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md). An invite code that belongs to a different account, is expired, or doesn't exist is returned as a failed item instead of failing the whole call.  To delete a single account code, call [Delete Account Code](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/delete-account-code.md).
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  inviteCodes
 Method parameters: 
   param name: inviteCodes | type: array<array> | description: Invite codes to delete. Each value is the `organizationInviteCode` query parameter of an invite link returned by [Generate Account Invite Links](https://dev.wix.com/docs/api-reference/account-level/channels/eligibility/account-code-v1/generate-account-invite-links.md). | required: true | validation: minItems 1, maxItems 5000, maxLength 500
 Return type: PROMISE<BulkDeleteAccountCodesResponse>
  - name: results | type: array<BulkDeleteAccountCodeResult> | description: Result for each invite code, in the same order as in the request. An invite code that can't be deleted, for example because it's expired, belongs to a different account, or doesn't exist, is returned as a failed item instead of failing the whole call.  | validation: minItems 1, maxItems 5000
     - name: itemMetadata | type: ItemMetadata | description: Item metadata for this invite code. `id` isn't returned. Use `originalIndex` to match the result to the invite code's position in the request's `inviteCodes` array.  
        - name: _id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.  | validation: format GUID
        - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items.  | validation: minimum 0
        - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned.  
        - name: error | type: ApplicationError | description: Details about the error in case of failure.  
           - name: code | type: string | description: Error code.  
           - name: description | type: string | description: Description of the error.  
           - name: data | type: object | description: Data related to the error.  
  - name: bulkActionMetadata | type: BulkActionMetadata | description: Bulk action metadata.  
     - name: totalSuccesses | type: integer | description: Number of items that were successfully processed.  | validation: minimum 0
     - name: totalFailures | type: integer | description: Number of items that couldn't be processed.  | validation: minimum 0
     - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded.  | validation: minimum 0


```

### Examples

### Bulk delete account codes
```javascript
import { accountCodes } from "@wix/channels";

async function bulkDeleteAccountCodes() {
  const response = await accountCodes.bulkDeleteAccountCodes([
    "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..q3Xk9mPzT2vL8nRw4bYc1A.Hf7sK2mQ9xV4pL6tN1rW8eZ3uB5yC0dJ.Ra4Tn8Wq2Ls6Xv1Kp9Bm3g",
    "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..Lr7Tb2WnX5cQ8mPa1vKs3D.Mc2vR8tY5nK1wQ7pL4xZ9bH6sE3jF0gA.Uy6Pk1Rz9Nf4Wc2Lt7Hq5e",
  ]);
}

/* Promise resolves to:
 * {
 *   "results": [
 *     { "itemMetadata": { "originalIndex": 0, "success": true } },
 *     { "itemMetadata": { "originalIndex": 1, "success": true } }
 *   ],
 *   "bulkActionMetadata": {
 *     "totalSuccesses": 2,
 *     "totalFailures": 0,
 *     "undetailedFailures": 0
 *   }
 * }
 */

```

### bulkDeleteAccountCodes (self-managed)
Self-managed 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 { accountCodes } from '@wix/channels';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

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


async function bulkDeleteAccountCodes(inviteCodes) {
  const response = await myWixClient.accountCodes.bulkDeleteAccountCodes(inviteCodes);
};
```

---