Testing & IDs

Before calling messaging or commerce endpoints, you need your WABA ID, phone number ID, and a valid API key. This page covers how to discover those values and test your integration.

Discover account context — GET /me

GET /api/external/me

Auth: Authorization: Bearer ck_<api_key> (required)

Returns the user ID, WABA ID, business name, and all active phone numbers for the API key’s WABA.

Response example

{
  "success": true,
  "userId": 42,
  "wabaId": "100000000000002",
  "businessName": "Example Business Pvt Ltd",
  "phoneNumbers": [
    {
      "Phone_Number_Id": "100000000000001",
      "Phone_Number": "919876543210",
      "Display_Phone_Number": "+91 98765 43210"
    }
  ]
}

Use Phone_Number_Id as phoneNumberId in send-message and commerce requests.

Code samples — GET /me

curl -s https://chatyug.com/api/external/me \
  -H "Authorization: Bearer ck_your_api_key_here"
const axios = require('axios');

const { data } = await axios.get('https://chatyug.com/api/external/me', {
  headers: { Authorization: 'Bearer ck_your_api_key_here' }
});
console.log(data.wabaId, data.phoneNumbers[0].Phone_Number_Id);
import requests

r = requests.get('https://chatyug.com/api/external/me',
    headers={'Authorization': 'Bearer ck_your_api_key_here'})
print(r.json())
$client = new GuzzleHttp\Client();
$res = $client->get('https://chatyug.com/api/external/me', [
    'headers' => ['Authorization' => 'Bearer ck_your_api_key_here']
]);
echo $res->getBody();

Health check (no API key)

GET /api/external/test
{
  "success": true,
  "message": "External API is working!",
  "timestamp": "2026-07-14T07:00:00.000Z"
}

Portal API Testing Tool

After signing in, API Configuration includes an interactive testing tool that sends live requests to External API endpoints and displays request/response details. Use it to validate your key and explore endpoints before wiring your own application.

Portal action (login required): Sign in → API Configuration → Open Testing Tool.

Next steps