API Documentation

Send WhatsApp messages programmatically with our RESTful API

Join our Developer Program

Get full access to our API, cashback for every sale from your clients, and exclusive resources for developers

Authentication

All API requests must include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Base URL

https://www.api.msg.corchampionship.org/api/v1

Endpoints

Your API Key

Please get API Key in your settings to start using the balance API.

GET /user/balance

Get your current credit balance.

Response
curl -X GET "https://www.api.msg.corchampionship.org/api/v1/user/balance" \
  -H "Authorization: Bearer YOUR_API_KEY"
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.api.msg.corchampionship.org/api/v1/user/balance");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer YOUR_API_KEY"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
fetch('https://www.api.msg.corchampionship.org/api/v1/user/balance', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => console.log(data));
Success Response (200)
{
  "success": true,
  "data": {
    "credits": 950,
    "user_id": 1,
    "user_name": "John Doe"
  }
}

POST /messages/send

Send a single WhatsApp message.

Request Body
Parameter Type Required Description
phone string Yes Recipient's phone number with country code no need of ( 0 or +) at the start
message string Yes Message content (max 1000 chars)
Examples
For each instance you need to create a Api Key for an WhatsApp instance


curl -X POST "https://www.api.msg.corchampionship.org/api/v1/messages/send" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "1234567890", 
    "message": "Hello from API!"
  }'
$data = [
    'phone' => '+1234567890',
    'message' => 'Hello from API!'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.api.msg.corchampionship.org/api/v1/messages/send");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
fetch('https://www.api.msg.corchampionship.org/api/v1/messages/send', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phone: '+1234567890',
    message: 'Hello from API!'
  })
})
.then(response => response.json())
.then(data => console.log(data));
Success Response (201)
{
  "success": true,
  "data": {
    "message_id": 123,
    "status": "sent",
    "credits_used": 1,
    "credits_remaining": 949,
    "sent_at": "2025-11-23T09:00:00Z"
  }
}

POST /messages/send-bulk

Send multiple WhatsApp messages at once (max 100).

Request Body
Parameter Type Required Description
messages array Yes Array of message objects (1-100 messages)
messages[].phone string Yes Recipient's phone number
messages[].message string Yes Message content
Example
For each instance you need to create a Api Key for an WhatsApp instance


curl -X POST "https://www.api.msg.corchampionship.org/api/v1/messages/send-bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "phone": "+1234567890",
        "message": "Hello User 1"
      },
      {
        "phone": "+0987654321",
        "message": "Hello User 2"
      }
    ]
  }'
Success Response (201)
{
  "success": true,
  "data": {
    "messages_sent": 2,
    "credits_used": 2,
    "credits_remaining": 947,
    "messages": [
      {
        "message_id": 124,
        "phone": "+1234567890",
        "status": "sent"
      },
      {
        "message_id": 125,
        "phone": "+0987654321",
        "status": "sent"
      }
    ]
  }
}

Error Codes

MISSING_API_KEY (401)

API Key is missing from request headers.

INVALID_API_KEY (401)

The provided API Key is invalid or doesn't exist.

VALIDATION_ERROR (422)

Request validation failed. Check the error details for specific field errors.

INSUFFICIENT_CREDITS (402)

Your account doesn't have enough credits to send the message(s).

{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "Not enough credits. You need 1 credits but have 0",
    "required_credits": 1,
    "available_credits": 0
  }
}
SERVER_ERROR (500)

An unexpected server error occurred. Please try again later.

Rate Limiting

The API is rate-limited to protect our servers. Current limits:

  • 60 requests per minute per API key
  • 100 messages maximum per bulk send request

If you exceed these limits, you'll receive a 429 Too Many Requests response.