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

# Post a test message to verify delivery

> Test channel message delivery.

`checkChannel(projectReference: ID!, channelId: ID!, input: CheckChannelInput!): ChannelCheckResult!`

Requires project.channels.write.

## Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | Project ID or slug. Requires a person's credential; agent, run, and service-account callers are forbidden. |
| `channelId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | |
| `input` | [`CheckChannelInput!`](https://veryfront.com/docs/cloud/graphql/types/checkchannelinput) | Yes | |

## Input fields

### input

[`CheckChannelInput`](https://veryfront.com/docs/cloud/graphql/types/checkchannelinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `slackChannelId` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | Slack channel for the test message. Slack refusals return status failed with a failure code. A missing Slack connection returns validation-failed; a transient connection refresh failure returns external-service-error. |
| `text` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | 1-4000 characters; default 'Veryfront Slack connection test'. |

## Response

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

| Field | Type | Description |
| - | - | - |
| `channelId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | |
| `slackChannelId` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | |
| `status` | [`ChannelCheckStatus!`](https://veryfront.com/docs/cloud/graphql/types/channelcheckstatus) | |
| `messageId` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | Slack message timestamp of the delivered message. |
| `failureCode` | [`ChannelCheckFailureCode`](https://veryfront.com/docs/cloud/graphql/types/channelcheckfailurecode) | |
| `retryable` | [`Boolean!`](https://veryfront.com/docs/cloud/graphql/types/boolean) | |
| `checkedAt` | [`DateTime!`](https://veryfront.com/docs/cloud/graphql/types/datetime) | |

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}
mutation CheckChannel($projectReference: ID!, $channelId: ID!, $input: CheckChannelInput!) {
  checkChannel(projectReference: $projectReference, channelId: $channelId, input: $input) {
    status
    channelId
    checkedAt
    failureCode
    messageId
  }
}
```

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

<details>
  <summary>Try this mutation</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

  Mutation

  Variables (JSON)
</details>


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