Create Webhook Account
curl --request POST \
--url https://api.linkupapi.com/v1/webhooks/accounts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"platform": "<string>",
"account_name": "<string>",
"webhook_url": "<string>",
"login_token": "<string>",
"phone_number": "<string>",
"qr_webhook_url": "<string>"
}
'import requests
url = "https://api.linkupapi.com/v1/webhooks/accounts"
payload = {
"platform": "<string>",
"account_name": "<string>",
"webhook_url": "<string>",
"login_token": "<string>",
"phone_number": "<string>",
"qr_webhook_url": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platform: '<string>',
account_name: '<string>',
webhook_url: '<string>',
login_token: '<string>',
phone_number: '<string>',
qr_webhook_url: '<string>'
})
};
fetch('https://api.linkupapi.com/v1/webhooks/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v1/webhooks/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platform' => '<string>',
'account_name' => '<string>',
'webhook_url' => '<string>',
'login_token' => '<string>',
'phone_number' => '<string>',
'qr_webhook_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v1/webhooks/accounts"
payload := strings.NewReader("{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v1/webhooks/accounts")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v1/webhooks/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "60f7b3b3e4b0c8a2d8e9f1a2",
"platform": "linkedin",
"account_name": "My LinkedIn Account",
"login_token": "AQEDARCvKg...",
"country": "FR",
"webhook_url": "https://your-webhook.com/linkedin",
"is_active": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
{
"id": "507f1f77bcf86cd799439011",
"platform": "whatsapp",
"account_name": "My WhatsApp",
"phone_number": "+33612345678",
"webhook_url": "https://your-webhook.com/whatsapp",
"qr_webhook_url": "https://your-webhook.com/qr",
"is_active": false,
"is_authenticated": false,
"needs_qr": true,
"country": "FR",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Webhook (Real Time)
Create Webhook Account
Register a LinkedIn or WhatsApp account for webhook monitoring
POST
/
v1
/
webhooks
/
accounts
Create Webhook Account
curl --request POST \
--url https://api.linkupapi.com/v1/webhooks/accounts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"platform": "<string>",
"account_name": "<string>",
"webhook_url": "<string>",
"login_token": "<string>",
"phone_number": "<string>",
"qr_webhook_url": "<string>"
}
'import requests
url = "https://api.linkupapi.com/v1/webhooks/accounts"
payload = {
"platform": "<string>",
"account_name": "<string>",
"webhook_url": "<string>",
"login_token": "<string>",
"phone_number": "<string>",
"qr_webhook_url": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platform: '<string>',
account_name: '<string>',
webhook_url: '<string>',
login_token: '<string>',
phone_number: '<string>',
qr_webhook_url: '<string>'
})
};
fetch('https://api.linkupapi.com/v1/webhooks/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v1/webhooks/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platform' => '<string>',
'account_name' => '<string>',
'webhook_url' => '<string>',
'login_token' => '<string>',
'phone_number' => '<string>',
'qr_webhook_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v1/webhooks/accounts"
payload := strings.NewReader("{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v1/webhooks/accounts")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v1/webhooks/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform\": \"<string>\",\n \"account_name\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"login_token\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"qr_webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "60f7b3b3e4b0c8a2d8e9f1a2",
"platform": "linkedin",
"account_name": "My LinkedIn Account",
"login_token": "AQEDARCvKg...",
"country": "FR",
"webhook_url": "https://your-webhook.com/linkedin",
"is_active": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
{
"id": "507f1f77bcf86cd799439011",
"platform": "whatsapp",
"account_name": "My WhatsApp",
"phone_number": "+33612345678",
"webhook_url": "https://your-webhook.com/whatsapp",
"qr_webhook_url": "https://your-webhook.com/qr",
"is_active": false,
"is_authenticated": false,
"needs_qr": true,
"country": "FR",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Register a new LinkedIn or WhatsApp account to receive real-time webhook notifications.
LinkedIn: After creating an account, monitoring must be started separately using the start monitoring endpoint.WhatsApp: QR code generation starts immediately after account creation. QR codes expire after 20 sec and are regenerated automatically.
Credit Usage: Real-time monitoring consumes 10 credits per day (1 credit every 144 minutes) per active LinkedIn account. WhatsApp pricing may differ - contact support for details.
Header Parameters
string
required
Your API key
Body Parameters
string
required
Platform type:
"linkedin" or "whatsapp"string
required
Name to identify this account
string
required
URL where webhook notifications will be sent
string
Country code used for this account
LinkedIn-specific Parameters
string
required
LinkedIn authentication token obtained from the login process
WhatsApp-specific Parameters
string
required
Phone number in international format (e.g., +33612345678)
string
URL for QR code notifications (defaults to webhook_url if not provided)
Response
string
Unique identifier for the created account
string
Platform type (linkedin or whatsapp)
string
Account name
string
URL where webhooks will be sent
boolean
Whether monitoring is currently active (false by default)
boolean
Whether the account is authenticated (WhatsApp only)
boolean
Whether QR code authentication is needed (WhatsApp only)
string
Country code used for this account (LinkedIn only)
LinkedIn-specific Response Fields
string
The LinkedIn authentication token (LinkedIn only)
WhatsApp-specific Response Fields
string
Phone number in international format (WhatsApp only)
string
URL for QR code notifications (WhatsApp only)
string
Account creation timestamp
string
Last update timestamp
{
"id": "60f7b3b3e4b0c8a2d8e9f1a2",
"platform": "linkedin",
"account_name": "My LinkedIn Account",
"login_token": "AQEDARCvKg...",
"country": "FR",
"webhook_url": "https://your-webhook.com/linkedin",
"is_active": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
{
"id": "507f1f77bcf86cd799439011",
"platform": "whatsapp",
"account_name": "My WhatsApp",
"phone_number": "+33612345678",
"webhook_url": "https://your-webhook.com/whatsapp",
"qr_webhook_url": "https://your-webhook.com/qr",
"is_active": false,
"is_authenticated": false,
"needs_qr": true,
"country": "FR",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Notes
- LinkedIn: Account created with
is_active: false. Use start monitoring endpoint to begin receiving webhooks - WhatsApp: QR code generation starts immediately after account creation. QR codes expire after 20 sec and regenerate automatically
- LinkedIn: Credit consumption only begins when monitoring is started
- WhatsApp: To stop monitoring, delete the account entirely
- Each active account consumes credits independently
Was this page helpful?