Create Channel

Create a new WhatsApp channel with a name, description, and profile picture.

POST
https://api.wawp.net/v2/channels?access_token=123456789&description=Channel+Description&instance_id=123456789&name=Channel+Name&picture=%7B%0A++%22mimetype%22%3A+%22image%2Fjpeg%22%2C%0A++%22filename%22%3A+%22filename.jpg%22%2C%0A++%22url%22%3A+%22https%3A%2F%2Fwawp.net%2Fwp-content%2Fuploads%2F2025%2F08%2Ficon-256x256-1.jpg%22%0A%7D&type=string

Authentication Required

Login to swap the placeholders with your real Instance ID and Access Token.

Log In
Test /v2/channels/create endpoint
POST
POST

No query parameters required

This endpoint doesn't expect data in the URL.

Best practices

  • Use clear, descriptive titles for better discoverability.

  • Prepare a content calendar before launching to keep followers engaged.

  • Verify your local region supports channel creation.

The Genesis Block: Programmatic Channel Creation

The /v2/channels/create endpoint is your gateway to becoming a broadcaster on WhatsApp. Unlike Groups, which require adding phone numbers one by one, a Channel is a public entity that users choose to follow. This endpoint allows you to instantly provision a new broadcasting outlet for your brand, topic, or community.


🏗️ Anatomy of a Channel

When you create a channel, you are defining three key public-facing attributes. Getting these right is crucial for subscriber growth.

1. The Name (name)

  • Constraint: Maximum ~100 characters (though WhatsApp recommends < 25 for visibility).
  • Strategy: This is the searchable title. If you are a news agency, include your brand name. If you are a niche bot, include the topic (e.g., "Daily Crypto Alerts").
  • Uniqueness: Names are not unique. You can have multiple channels with the same name, but they will have different JIDs.

2. The Description (description)

  • Constraint: Supports text and emojis.
  • SEO Value: This field is indexed by WhatsApp's directory search. Include keywords here.
    • Bad: "Updates from us."
    • Good: "Daily alerts for Bitcoin, Ethereum, and DeFi market trends. Official channel for CryptoNews."
  • Trust: Use this space to link to your official website or privacy policy to establish legitimacy.

3. The Picture (picture)

  • Format: JPG or PNG.
  • Dimensions: Recommended 640x640 pixels (square).
  • Behavior: If omitted, the channel will have a default generic icon. It is highly recommended to set this during creation to increase click-through rates from the directory.

🚀 Post-Creation Workflow

Once you receive a 201 Created response, your channel is live on the network, but it has 0 followers.

Step 1: Capture the JID

The response will contain an id ending in @newsletter (e.g., 123456789@newsletter).

  • Action: Store this permanently in your database. You cannot send messages without it.

Step 2: Get the Invite Link

While not always returned in the creation response (depending on API version), you can usually construct a deep link or fetch channel info to get the invite_link.

  • Format: https://whatsapp.com/channel/...
  • Distribution: Embed this link in your email footers, website banners, and SMS campaigns.

Step 3: The "First Post"

A empty channel looks abandoned.

  • Best Practice: Immediately after creation, use /v2/channels/{id}/messages to post a "Welcome" message explaining what subscribers can expect.

⚠️ Limits & Restrictions

  • Rate Limits: You can usually create a limited number of channels per phone number per day (e.g., 1-10 depending on trust score) to prevent spam.
  • Admin Rights: The Wawp instance that creates the channel is the Sole Admin. Currently, the API may not support adding other admins programmatically. Ensure you do not lose access to this session.
  • Compliance: Channel content is moderated by Meta. Creating channels for illegal topics or hate speech can result in an instant ban of your entire Wawp instance.

💡 Advanced: Dynamic Channel Provisioning

If you are a SaaS platform (e.g., a Real Estate CRM), you can automate this:

  1. Real Estate Agent signs up on your site.
  2. Your system calls /v2/channels/create with name "Home Listings: [Agent Name]".
  3. Your system stores the JID.
  4. Every time the agent adds a new property to your CRM, your system automatically broadcasts the photo and price to their specific Channel.

This turns every user of your software into a micro-broadcaster.

Request Parameters

Configure the parameters required to interact with this endpoint. All query and body arguments are listed below with their details.

Request Body

Sent as a JSON object
string

Your unique WhatsApp Instance ID

Example:
string

Your API Access Token

Example:
string

The name of the channel

Example:
string

A brief description of the channel

Example:
object

Channel profile picture details

Example:
string

Channel type

Example:

Request Samples

Use these ready-to-go code snippets to integrate our API into your project quickly and efficiently. Choose your preferred language and library.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/channels";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "123456789"
6}).toString();
7const body = {
8 "name": "Channel Name",
9 "description": "Channel Description",
10 "picture": {
11 "mimetype": "image/jpeg",
12 "filename": "filename.jpg",
13 "url": "https://wawp.net/wp-content/uploads/2025/08/icon-256x256-1.jpg"
14 },
15 "type": "string"
16};
17
18fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
19 method: "POST",
20 headers: { "Content-Type": "application/json" },
21 body: JSON.stringify(body)
22})
23 .then(async (response) => {
24 if (response.ok) {
25 const data = await response.json();
26 console.log("Success:", data);
27 return data;
28 }
29
30 // Error Handling
31 if (response.status === 401) {
32 console.error("Error 401: Unauthorized - Invalid or Missing Access Token");
33 }
34 if (response.status === 400) {
35 console.error("Error 400: Bad Request - Invalid Parameter Format");
36 }
37 if (response.status === 500) {
38 console.error("Error 500: Internal Server Error - Unexpected Failure");
39 }
40
41 const errorText = await response.text();
42 console.error(`Error ${response.status}: ${errorText}`);
43 })
44 .catch((error) => console.error("Network Error:", error));
Interactive Samples
Ln 44, Col 1javascript

Expected Responses

Explore all possible responses and outcomes from the server. We have documented each status code with data examples to make success and error handling easier.

Channel created successfully
Bad Request - Invalid Parameter Format
Unauthorized - Invalid or Missing Access Token
Internal Server Error - Unexpected Failure
Previous TopicGet Channels List
Next TopicGet Channel Info

Command Palette

Search for a command to run...