> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List project templates

> List the curated project templates, the starter projects a new project is created from, to offer a choice; returns one page of project templates, where REST needs no credentials and returns every curated template and GraphQL requires a signed-in user and returns the public templates and the templates the user is a member of.

`projectTemplates(input: ProjectTemplatesInput): ProjectTemplatePage!`

## Arguments

| Argument | Type | Required |
| - | - | - |
| `input` | [`ProjectTemplatesInput`](https://veryfront.com/docs/cloud/graphql/types/projecttemplatesinput) | No |

## Input fields

### input

[`ProjectTemplatesInput`](https://veryfront.com/docs/cloud/graphql/types/projecttemplatesinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `search` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Search template names or slugs. |
| `useCase` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Filter by category, for example Store or Landing. |
| `sortBy` | [`TemplateSortBy`](https://veryfront.com/docs/cloud/graphql/types/templatesortby) | No | Optional sort field. Omit sorting to retain curated order. |
| `sortOrder` | [`TemplateSortOrder`](https://veryfront.com/docs/cloud/graphql/types/templatesortorder) | No | Defaults to asc when sorting. On its own sorts by name. |
| `excludeBlank` | [`Boolean`](https://veryfront.com/docs/cloud/graphql/types/boolean) | No | Exclude the blank template before pagination. |
| `cursor` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Cursor of the page to read, from pageInfo.endCursor of the previous page. |
| `limit` | [`Int`](https://veryfront.com/docs/cloud/graphql/types/int) | No | Integer page size from 1 to 100; defaults to 20. |

## Response

Returns [`ProjectTemplatePage!`](https://veryfront.com/docs/cloud/graphql/types/projecttemplatepage). Open the type for its fields and nested types.

| Field | Type |
| - | - |
| `data` | [`[ProjectTemplate!]!`](https://veryfront.com/docs/cloud/graphql/types/projecttemplate) |
| `pageInfo` | [`PageInfo!`](https://veryfront.com/docs/cloud/graphql/types/pageinfo) |

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
query ProjectTemplates($input: ProjectTemplatesInput) {
  projectTemplates(input: $input) {
    data {
      id
      name
      slug
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      endCursor
      hasPreviousPage
      startCursor
    }
  }
}
```

```json title="variables.json" theme={null}
{}
```

<details>
  <summary>Try this query</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Query

  Variables (JSON)
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.