> 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

# GetFeaturesData

# Package: socialMedia

# Namespace: PremiumFeaturesService

# Method link: https://dev.wix.com/docs/api-reference/business-management/marketing/social-media/premium-feature-v1/get-features-data.md

## Permission Scopes:
Manage Social Posts: SCOPE.PROMOTE.MANAGE-SOCIAL-POSTS

## Introduction

Retrieves the availability and usage quota for multiple premium features on the site.

---

## REST API

### Schema

```
 Method: getFeaturesData
 Description: Retrieves the availability and usage quota for multiple premium features on the site.
 URL: https://www.wixapis.com/social-publisher/v1/features
 Method: GET
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  featureTypes
 Method parameters: 
   query param name: featureTypes | type: array<featureTypes> | description: Premium features to retrieve. | required: true | validation: maxItems 20
                 - enum:
                 -     CONNECT_CHANNEL: Connecting a social channel.
                 -     PUBLISH_POST: Publishing a post.
                 -     SCHEDULE_POST: Scheduling a post.
                 -     WATCH_POST_INSIGHTS: Viewing post insights.
                 -     AI_TOOLS: Using AI content tools.
                 -     PUBLISH_STORY: Publishing a story.
                 -     EXTENDED_SOCIAL_PLAN_PERIOD: Creating a social plan that spans an extended period.
                 -     ADVANCED_ANALYTICS: Viewing advanced analytics.
                 -     ANALYTICS_AI_INSIGHTS: Viewing AI-generated analytics insights.
 Return type: GetFeaturesDataResponse
  - name: features | type: array<FeatureData> | description: Availability and quota for each requested feature.  
     - name: type | type: FeatureType | description: Premium feature.  
         - enum:
         -     CONNECT_CHANNEL: Connecting a social channel.
         -     PUBLISH_POST: Publishing a post.
         -     SCHEDULE_POST: Scheduling a post.
         -     WATCH_POST_INSIGHTS: Viewing post insights.
         -     AI_TOOLS: Using AI content tools.
         -     PUBLISH_STORY: Publishing a story.
         -     EXTENDED_SOCIAL_PLAN_PERIOD: Creating a social plan that spans an extended period.
         -     ADVANCED_ANALYTICS: Viewing advanced analytics.
         -     ANALYTICS_AI_INSIGHTS: Viewing AI-generated analytics insights.
     - name: enabled | type: boolean | description: Whether the feature is available on the site's plan.  
     - name: quotaInfo | type: QuotaInfo | description: Usage quota for the feature.  
        - name: limit | type: integer | description: Maximum number of uses allowed in the period.  
        - name: currentUsage | type: integer | description: Number of uses consumed in the current period.  
        - name: remainingUsage | type: integer | description: Number of uses remaining in the current period.  
        - name: period | type: Period | description: Period the quota resets over.  
             - enum: NO_PERIOD, MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
  - name: monetizationEnabled | type: boolean | description: Whether premium-feature quotas are enforced for the site through its plan. When `true`, each feature's `quotaInfo` reflects the plan's metered limits. When `false`, quotas aren't enforced, and a feature's `enabled` value reflects baseline availability rather than plan limits.  


```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.promoteGrowthToolsPublisher.premiumFeatures.getFeaturesData(featureTypes)
 Description: Retrieves the availability and usage quota for multiple premium features on the site.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  featureTypes
 Method parameters: 
   param name: featureTypes | type: array<array> | description: Premium features to retrieve. | required: true | validation: maxItems 20
                 - enum:
                 -     CONNECT_CHANNEL: Connecting a social channel.
                 -     PUBLISH_POST: Publishing a post.
                 -     SCHEDULE_POST: Scheduling a post.
                 -     WATCH_POST_INSIGHTS: Viewing post insights.
                 -     AI_TOOLS: Using AI content tools.
                 -     PUBLISH_STORY: Publishing a story.
                 -     EXTENDED_SOCIAL_PLAN_PERIOD: Creating a social plan that spans an extended period.
                 -     ADVANCED_ANALYTICS: Viewing advanced analytics.
                 -     ANALYTICS_AI_INSIGHTS: Viewing AI-generated analytics insights.
 Return type: PROMISE<GetFeaturesDataResponse>
  - name: features | type: array<FeatureData> | description: Availability and quota for each requested feature.  
     - name: type | type: FeatureType | description: Premium feature.  
         - enum:
         -     CONNECT_CHANNEL: Connecting a social channel.
         -     PUBLISH_POST: Publishing a post.
         -     SCHEDULE_POST: Scheduling a post.
         -     WATCH_POST_INSIGHTS: Viewing post insights.
         -     AI_TOOLS: Using AI content tools.
         -     PUBLISH_STORY: Publishing a story.
         -     EXTENDED_SOCIAL_PLAN_PERIOD: Creating a social plan that spans an extended period.
         -     ADVANCED_ANALYTICS: Viewing advanced analytics.
         -     ANALYTICS_AI_INSIGHTS: Viewing AI-generated analytics insights.
     - name: enabled | type: boolean | description: Whether the feature is available on the site's plan.  
     - name: quotaInfo | type: QuotaInfo | description: Usage quota for the feature.  
        - name: limit | type: integer | description: Maximum number of uses allowed in the period.  
        - name: currentUsage | type: integer | description: Number of uses consumed in the current period.  
        - name: remainingUsage | type: integer | description: Number of uses remaining in the current period.  
        - name: period | type: Period | description: Period the quota resets over.  
             - enum: NO_PERIOD, MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
  - name: monetizationEnabled | type: boolean | description: Whether premium-feature quotas are enforced for the site through its plan. When `true`, each feature's `quotaInfo` reflects the plan's metered limits. When `false`, quotas aren't enforced, and a feature's `enabled` value reflects baseline availability rather than plan limits.  


```

### Examples

### getFeaturesData
```javascript
import { premiumFeatures } from '@wix/promote-growth-tools-publisher';

async function getFeaturesData(featureTypes) {
  const response = await premiumFeatures.getFeaturesData(featureTypes);
};
```

### getFeaturesData (with elevated permissions)
```javascript
import { premiumFeatures } from '@wix/promote-growth-tools-publisher';
import { auth } from '@wix/essentials';

async function myGetFeaturesDataMethod(featureTypes) {
  const elevatedGetFeaturesData = auth.elevate(premiumFeatures.getFeaturesData);
  const response = await elevatedGetFeaturesData(featureTypes);
}
```

### getFeaturesData (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 { premiumFeatures } from '@wix/promote-growth-tools-publisher';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

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


async function getFeaturesData(featureTypes) {
  const response = await myWixClient.premiumFeatures.getFeaturesData(featureTypes);
};
```

---