Tenant MCP
Streamable HTTP JSON-RPC 2.0. Endpoint: POST https://mcp.greenbubble.io/mcp. Health: GET https://mcp.greenbubble.io/healthz. Auth: x-api-key (tenant key).
1
GET Health Check
GET https://mcp.greenbubble.io/healthz
cURL
curl -X GET 'https://mcp.greenbubble.io/healthz' \
-H 'x-api-key: YOUR_API_KEY'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/healthz', {
method: 'GET',
headers: { 'x-api-key': 'YOUR_API_KEY' }
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/healthz"
headers = { "x-api-key": "YOUR_API_KEY" }
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/healthz');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['x-api-key: YOUR_API_KEY']);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
2
POST List Tools
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
3
POST Call Tool - list_contacts
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_contacts","arguments":{"page":1,"limit":25,"search":"john"}}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "list_contacts",
"arguments": {
"page": 1,
"limit": 25,
"search": "john"
}
}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "list_contacts",
"arguments": {
"page": 1,
"limit": 25,
"search": "john"
}
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_contacts","arguments":{"page":1,"limit":25,"search":"john"}}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
4
POST Call Tool - send_whatsapp_message
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"send_whatsapp_message","arguments":{"contact_no":"919812345678","message":"Hello from Greenbubble","platform":"whatsapp"}}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "send_whatsapp_message",
"arguments": {
"contact_no": "919812345678",
"message": "Hello from Greenbubble",
"platform": "whatsapp"
}
}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "send_whatsapp_message",
"arguments": {
"contact_no": "919812345678",
"message": "Hello from Greenbubble",
"platform": "whatsapp"
}
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"send_whatsapp_message","arguments":{"contact_no":"919812345678","message":"Hello from Greenbubble","platform":"whatsapp"}}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
5
POST Call Tool - create_contact
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"create_contact","arguments":{"phone_number":"919812345678","name":"John Doe","email":"john@example.com","source":"whatsapp","status":"lead","tags":["vip"],"custom_fields":{"company":"Acme"}}}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "create_contact",
"arguments": {
"phone_number": "919812345678",
"name": "John Doe",
"email": "john@example.com",
"source": "whatsapp",
"status": "lead",
"tags": [
"vip"
],
"custom_fields": {
"company": "Acme"
}
}
}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "create_contact",
"arguments": {
"phone_number": "919812345678",
"name": "John Doe",
"email": "john@example.com",
"source": "whatsapp",
"status": "lead",
"tags": [
"vip"
],
"custom_fields": {
"company": "Acme"
}
}
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"create_contact","arguments":{"phone_number":"919812345678","name":"John Doe","email":"john@example.com","source":"whatsapp","status":"lead","tags":["vip"],"custom_fields":{"company":"Acme"}}}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
6
POST Call Tool - send_campaign
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"send_campaign","arguments":{"campaign_id":"CAMPAIGN_ID"}}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "send_campaign",
"arguments": {
"campaign_id": "CAMPAIGN_ID"
}
}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "send_campaign",
"arguments": {
"campaign_id": "CAMPAIGN_ID"
}
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"send_campaign","arguments":{"campaign_id":"CAMPAIGN_ID"}}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;
7
POST Call Tool - my_subscription
POST https://mcp.greenbubble.io/mcp
cURL
curl -X POST 'https://mcp.greenbubble.io/mcp' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"my_subscription","arguments":{}}}'
JavaScript
const res = await fetch('https://mcp.greenbubble.io/mcp', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "my_subscription",
"arguments": {}
}
})
});
const data = await res.json();
console.log(data);
Python
import requests
url = "https://mcp.greenbubble.io/mcp"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "my_subscription",
"arguments": {}
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
PHP
$ch = curl_init('https://mcp.greenbubble.io/mcp');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"my_subscription","arguments":{}}}');
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $httpCode . "\n" . $response;