> 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

# CountTemplates

# Package: studioWorkspace

# Namespace: Templates

# Method link: https://dev.wix.com/docs/api-reference/account-level/studio-workspace/template-v1/count-templates.md

## Permission Scopes:
SCOPE.STUDIO.MANAGE-CUSTOM-TEMPLATES: SCOPE.STUDIO.MANAGE-CUSTOM-TEMPLATES

## Introduction

Counts the templates that match the provided filter.

---

## REST API

### Schema

```
 Method: countTemplates
 Description: Counts the templates that match the provided filter.
 URL: https://www.wixapis.com/wixstudio/templates/v1/templates/count
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  filter
 Method parameters: 
   param name: filter | type: filter | description: Filter of the templates to count. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language.md) for more information. | required: true 
 Return type: CountTemplatesResponse
  - name: count | type: string | description: Number of templates matching the filter.  


```

### Examples

### Count Templates
Counts the templates that match the provided filter.

```curl
curl -X POST \
  'https://www.wixapis.com/wixstudio/templates/v1/templates/count' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "filter": {
      "templateType": "STUDIO"
    }
  }'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.templates.wixTemplatesBackend.countTemplates(filter)
 Description: Counts the templates that match the provided filter.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  filter
 Method parameters: 
   param name: filter | type: object | description: Filter of the templates to count. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language.md) for more information. | required: true 
 Return type: PROMISE<CountTemplatesResponse>
  - name: count | type: string | description: Number of templates matching the filter.  


```

### Examples

### Count templates //
Counts the templates that match the provided filter

```javascript
import { wixWixstudioTemplatesV1Template } from "@wix/dev";

const filter = {
  templateType: "STUDIO",
};

async function countTemplates() {
  const response =
    await wixWixstudioTemplatesV1Template.countTemplates(filter);
}

/* Promise resolves to:
 * {
 *   "count": "3"
 * }
 */

```

### countTemplates (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 { wixTemplatesBackend } from '@wix/templates';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

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


async function countTemplates(filter) {
  const response = await myWixClient.wixTemplatesBackend.countTemplates(filter);
};
```

---