WhatsApp Authentication Messages allow businesses to securely verify users by sending one-time passwords (OTPs) or verification codes directly to their WhatsApp number, and with the Skynyx third-party API, creating and delivering these messages is fast, secure, and reliable. Our API lets you generate authentication messages by defining parameters such as the recipient’s mobile number, approved authentication template, sender ID, language code, and dynamic values like OTPs or verification tokens, ensuring full compliance with WhatsApp policies. This solution is ideal for login verification, account registration, password resets, and transaction validation, and can be seamlessly integrated into web applications, mobile apps, backend services, or automated workflows for a smooth and secure user authentication experience.
Try it in Live Tool| Feature | Us | Other APIs |
|---|---|---|
| Credit-Based Pricing | Yes | Limited or confusing |
| Transparent Billing | Yes | Surprise charges |
| Dev-Focused Docs | Yes | Sparse examples |
| Free Credits | Yes | Paywall from day 1 |
| Fast Support | Yes | 3+ day wait time |
This example will sign your document with a Nutrient certificate.

Sign up and receive 100 credits for free, or log in to automatically add your API key to sample code. If you are not sure how credits are consumed read more in our pricing documentation , or check out this guide on calculating credit usage.

Add a PDF named document. pdf to your project folder. You can use our sample document.

Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.

Open result.pdf in your project folder to view the results.
POST /v1/whatsapp HTTP/1.1
Host: api.skynyx.dev
Content-Type: application/json
{
"api_key": "xxxxx",
"mobile_no": "your_10_digit_numeric_mobile_number",
"template_name": "xxx",
"sender_id": "xxxx",
"type": "Authentication",
"language_code": "xxxxx",
"otp": "xxxxx"
}curl -X POST "https://api.skynyx.dev/v1/whatsapp" \
-H "Content-Type: application/json" \
-d "{
\"api_key\": \"xxxxx\",
\"mobile_no\": \"your_10_digit_numeric_mobile_number\",
\"template_name\": \"xxx\",
\"sender_id\": \"xxxx\",
\"type\": \"Authentication\",
\"language_code\": \"xxxxx\",
\"otp\": \"xxxxx\"
}"curl -X POST https://api.skynyx.dev/v1/whatsapp ^
-H "Content-Type: application/json" ^
-d "{
\"api_key\": \"xxxxx\",
\"mobile_no\": \"your_10_digit_numeric_mobile_number\",
\"template_name\": \"xxx\",
\"sender_id\": \"xxxx\",
\"type\": \"Authentication\",
\"language_code\": \"xxxxx\",
\"otp\": \"xxxxx\"
}"import java.io.IOException;
import okhttp3.*;
public class Program {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = RequestBody.create(
MediaType.parse("application/json"),
"{\"api_key\": \"xxxxx\", \"mobile_no\": \"your_10_digit_numeric_mobile_number\", \"template_name\": \"xxx\", \"sender_id\": \"xxxx\", \"type\": \"Authentication\", \"language_code\": \"xxxxx\", \"otp\": \"xxxxx\"}"
);
Request request = new Request.Builder()
.url("https://api.skynyx.dev/v1/whatsapp")
.addHeader("Content-Type", "application/json")
.post(requestBody)
.build();
try (Response response = client.newCall(request).execute()) {
if (response.body() != null) {
System.out.println(response.body().string());
}
}
}
}const axios = require('axios');
async function main() {
const data = {
api_key: "xxxxx",
mobile_no: "your_10_digit_numeric_mobile_number",
template_name: "xxx",
sender_id: "xxxx",
type: "Authentication",
language_code: "xxxxx",
otp: "xxxxx"
};
try {
const response = await axios.post('https://api.skynyx.dev/v1/whatsapp', data, {
headers: { 'Content-Type': 'application/json' }
});
console.log(response.data);
} catch (error) {
console.error(error.message);
}
}
main();using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var client = new HttpClient();
var payload = @"{
\"api_key\": \"xxxxx\",
\"mobile_no\": \"your_10_digit_numeric_mobile_number\",
\"template_name\": \"xxx\",
\"sender_id\": \"xxxx\",
\"type\": \"Authentication\",
\"language_code\": \"xxxxx\",
\"otp\": \"xxxxx\"
}";
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.skynyx.dev/v1/whatsapp", content);
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}import requests
import json
url = "https://api.skynyx.dev/v1/whatsapp"
payload = {
"api_key": "xxxxx",
"mobile_no": "your_10_digit_numeric_mobile_number",
"template_name": "xxx",
"sender_id": "xxxx",
"type": "Authentication",
"language_code": "xxxxx",
"otp": "xxxxx"
}
response = requests.post(url, headers={"Content-Type": "application/json"}, data=json.dumps(payload))
print(response.json())<?php
$url = 'https://api.skynyx.dev/v1/whatsapp';
$data = [
"api_key" => "xxxxx",
"mobile_no" => "your_10_digit_numeric_mobile_number",
"template_name" => "xxx",
"sender_id" => "xxxx",
"type" => "Authentication",
"language_code" => "xxxxx",
"otp" => "xxxxx"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;