> This page is for API Reference.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Publish a Channel

PUT https://api.contentful.com/organizations/{organizationId}/channels/{channelId}/published

Publishes a Channel. Publish a Channel before publishing the Destinations that reference it.

Reference: https://contentful.com/developers/docs/references/experience-management-api/destinations-management/destinations/channels/publish-channel

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `organizationId` (string, required) — ID of the organization the Channel belongs to.
- `channelId` (string, required) — ID of the Channel.

### Headers

- `X-Contentful-Version` (string, required) — Current version of the resource, taken from `sys.version`. A stale value returns `409 Conflict`.

## Response

### 200

OK - Channel published

- `name` (string, required)
- `description` (string, required)
- `properties` (list of ChannelPropertyDefinition, required)
- `nodeProperties` (list of ChannelNodePropertyDefinition, required)
- `sys` (ChannelSys, required)

## Types

### ChannelPropertyDefinition

Declares a property that every Destination linked to this Channel must supply.

- `name` (string, required) — Human-readable name of the property.
- `id` (string, required) — Identifier a Destination uses to supply a value for this property. Must be unique within the Channel.
- `type` (enum, required) — Value type accepted for this property.
  - Allowed values: `String`, `Boolean`, `Number`

### ChannelNodePropertyDefinition

Declares a property carried by the Destination Nodes of every Destination linked to this Channel.

- `name` (string, required) — Human-readable name of the Destination Node property. Must be unique within the Channel.
- `type` (string, required) — Value type accepted for this Destination Node property. `Path` marks the Destination Node property that supplies routing paths, and a Channel can declare at most one of them.

### ChannelSys

- `createdAt` (string, optional) — Date and time the resource was created.
- `createdBy` (Link, optional) — Link to another Contentful resource.
- `firstPublishedAt` (string, optional) — Date and time the resource was published for the first time.
- `id` (string, optional)
- `organization` (Link, optional) — Link to another Contentful resource.
- `publishedAt` (string, optional) — Date and time the resource was last published.
- `publishedBy` (Link, optional) — Link to another Contentful resource.
- `publishedCounter` (integer, optional) — Number of times the resource has been published.
- `publishedVersion` (integer, optional) — Version of the resource that is currently published.
- `type` ("Channel", optional)
- `updatedAt` (string, optional) — Date and time the resource was last updated.
- `updatedBy` (Link, optional) — Link to another Contentful resource.
- `version` (integer, optional) — Current version of the resource. Send this value as `X-Contentful-Version` when updating, deleting, publishing, or unpublishing.

### Link

Link to another Contentful resource.

- `sys` (LinkSys, required)

### LinkSys

- `type` ("Link", required)
- `linkType` (string, required)
- `id` (string, required)

## Examples

**Response**

```json
{
  "name": "name",
  "description": "description",
  "properties": [
    {
      "name": "Base URL",
      "id": "baseUrl",
      "type": "String"
    }
  ],
  "nodeProperties": [
    {
      "name": "Path",
      "type": "Path"
    }
  ],
  "sys": {
    "createdAt": "createdAt",
    "createdBy": {
      "sys": {
        "type": "Link",
        "linkType": "linkType",
        "id": "id"
      }
    },
    "firstPublishedAt": "firstPublishedAt",
    "id": "id",
    "organization": {
      "sys": {
        "type": "Link",
        "linkType": "linkType",
        "id": "id"
      }
    },
    "publishedAt": "publishedAt",
    "publishedBy": {
      "sys": {
        "type": "Link",
        "linkType": "linkType",
        "id": "id"
      }
    },
    "publishedCounter": 1,
    "publishedVersion": 1,
    "type": "Channel",
    "updatedAt": "updatedAt",
    "updatedBy": {
      "sys": {
        "type": "Link",
        "linkType": "linkType",
        "id": "id"
      }
    },
    "version": 1
  }
}
```