> ## 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 prompts

> List the prompts defined in the source of a project, a branch or an environment to find one to use or edit; returns every prompt with the source files that could not be read as prompts.

`prompts(projectReference: String!, sourceTargetKind: SourceTargetKind, runtimeTargetKind: RuntimeTargetKind, targetEnvironmentId: ID, targetBranchId: ID): PromptList!`

Requires project.agents.read.

## Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | |
| `sourceTargetKind` | [`SourceTargetKind`](https://veryfront.com/docs/cloud/graphql/types/sourcetargetkind) | No | The source to read; default runtimeTargetKind, else project. |
| `runtimeTargetKind` | [`RuntimeTargetKind`](https://veryfront.com/docs/cloud/graphql/types/runtimetargetkind) | No | Used as the source to read when sourceTargetKind is omitted. |
| `targetEnvironmentId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | Required with the kind environment. |
| `targetBranchId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | Required with the kind preview\_branch. |

## Response

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

| Field | Type | Description |
| - | - | - |
| `data` | [`[Prompt!]!`](https://veryfront.com/docs/cloud/graphql/types/prompt) | |
| `pageInfo` | [`PageInfo!`](https://veryfront.com/docs/cloud/graphql/types/pageinfo) | |
| `diagnostics` | [`[SourceFileDiagnostic!]!`](https://veryfront.com/docs/cloud/graphql/types/sourcefilediagnostic) | Prompt source files that could not be read as a prompt. |

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 Prompts($projectReference: String!, $sourceTargetKind: SourceTargetKind, $runtimeTargetKind: RuntimeTargetKind, $targetEnvironmentId: ID, $targetBranchId: ID) {
  prompts(projectReference: $projectReference, sourceTargetKind: $sourceTargetKind, runtimeTargetKind: $runtimeTargetKind, targetEnvironmentId: $targetEnvironmentId, targetBranchId: $targetBranchId) {
    data {
      id
      name
      description
      editMode
      sourcePath
    }
    pageInfo {
      hasNextPage
      endCursor
      hasPreviousPage
      startCursor
    }
    diagnostics {
      code
      details
      kind
      message
      severity
    }
  }
}
```

```json title="variables.json" theme={null}
{
  "projectReference": "00000000-0000-4000-8000-000000000001"
}
```

<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.