---
title: "Create Channel Collaborator"
method: POST
path: "/channels/{channelHashedId}/collaborators"
tags: ["Channel Collaborators"]
---

# Create Channel Collaborator

`POST /channels/{channelHashedId}/collaborators`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/channels/{channelHashedId}/collaborators`
- Auth: HTTP bearer

Invites a collaborator to a channel by specifying their email address and role. Creates a new contact if one doesn't exist with that email.

## Requires api token with one of the following permissions
```
Read, update & delete anything
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization granting the `update` permission on this channel can also
be used.

## Path parameters

- `channelHashedId` string, required: Hashed ID of the channel (e.g., "abc123")

## Headers

- `X-Wistia-API-Version` string, required

## Request body

- object: Request body for creating a channel collaborator.
  - `email` string, email, required: Email address of the contact to invite. Creates a new contact if one doesn't exist.
  - `role` 'admin' | 'viewer', required: The role to grant the collaborator.

## Response `201`

Channel collaborator created successfully

- object: A channel collaborator is a contact or contact group that has been granted access to a channel.
  - `id` integer, required: The unique identifier of the channel role.
  - `role` 'admin' | 'viewer', required: The role of the collaborator on the channel.
  - `created_at` string, date-time, required: The timestamp when this collaborator was added.
  - `share` object, required: The contact or contact group being granted access.
    - `id` integer, required
    - `name` string, required
    - `type` string, required: Either "Contact" or "ContactGroup"
    - `email` string, email: Email address (only present for Contact type).
  - `cursor` string, nullable: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `404`: Resource not found
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/channels/:channelHashedId/collaborators/post.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
