# Message channels reference

Copy as Markdown[View as Markdown](/docs/development/guides/resources/messages/message-channels/reference.md)

***

This page lists the fields, paths, and routes supported by channels.

## Paths[​](#paths "Direct link to Paths")

Channels can be created in any `channels` folder:

```
/channels/{Channel Name}/index.mdx
/domains/{Domain Name}/channels/{Channel Name}/index.mdx
/services/{Service Name}/channels/{Channel Name}/index.mdx
```

Versioned channels use:

```
/channels/{Channel Name}/versioned/{version}/index.mdx
```

## Routes[​](#routes "Direct link to Routes")

| Route                                         | Description                 |
| --------------------------------------------- | --------------------------- |
| `/docs/channels/{channel-id}/{version}`       | Channel documentation page. |
| `/visualiser/channels/{channel-id}/{version}` | Channel resource diagram.   |

## Required fields[​](#required-fields "Direct link to Required fields")

### `id`[​](#id "Direct link to id")

* Type: `string`

Unique id of the channel. EventCatalog uses this for URLs and resource references.

Example

```
---
id: orders-topic
---
```

### `name`[​](#name "Direct link to name")

* Type: `string`

Display name of the channel.

Example

```
---
name: Orders Topic
---
```

### `version`[​](#version "Direct link to version")

* Type: `string`

Version of the channel documentation.

Example

```
---
version: 1.0.0
---
```

## Optional fields[​](#optional-fields "Direct link to Optional fields")

### `summary`[​](#summary "Direct link to summary")

* Type: `string`

Short description of the channel.

Example

```
---
summary: Kafka topic that carries ordering events.
---
```

### `owners`[​](#owners "Direct link to owners")

* Type: `array`

An array of team or user ids that own the channel.

Example

```
---
owners:
  - ordering-platform
---
```

### `address`[​](#address "Direct link to address")

* Type: `string`

Broker address, topic, stream, queue, or route.

Example

```
---
address: orders.events
---
```

### `protocols`[​](#protocols "Direct link to protocols")

* Type: `array`

Protocols used by the channel, such as Kafka, HTTP, or AMQP.

Example

```
---
protocols:
  - kafka
---
```

### `deliveryGuarantee`[​](#deliveryGuarantee "Direct link to deliveryGuarantee")

* Type: `at-most-once`, `at-least-once`, or `exactly-once`

Delivery guarantee for messages on the channel.

Example

```
---
deliveryGuarantee: at-least-once
---
```

### `parameters`[​](#parameters "Direct link to parameters")

* Type: `object`

Parameter definitions for templated channel addresses.

Example

```
---
parameters:
  region:
    description: Deployment region for the topic.
---
```

### `badges`[​](#badges "Direct link to badges")

* Type: `array`

Badges rendered on the channel page.

Example

```
---
badges:
  - content: Kafka
    backgroundColor: purple
    textColor: purple
---
```

## Delivery guarantee[​](#delivery-guarantee "Direct link to Delivery guarantee")

Use `deliveryGuarantee` to describe how messages are delivered on the channel.

Supported values are `at-most-once`, `at-least-once`, and `exactly-once`.

```
---
deliveryGuarantee: at-least-once
---
```
