OneNodeAPI
Developer Documentation
All Systems Operational · 45ms latency

The Unified API Platform for Modern Developers

OneNodeAPI offers a complete ecosystem of reliable services — high-deliverability SMTP, real-time IGN verification, GPT-4 powered AI, instant UPI payments, and neural audio synthesis — all under one universal credential system.

5
Core Services
99.9%
Uptime SLA
45ms
Avg Latency
24/7
Support
⚡ Introduction

Welcome to OneNodeAPI

This documentation will walk you through every available service. Each module uses the same Universal Node Credentials for authentication — making it incredibly easy to scale across services.

i
Quick Note You will need your Client ID and Client Secret from your Dashboard to begin. These credentials are universal across SMTP, IGN, AI, Payment, and Song APIs.
🧩 Modules

Available Services

Pick a service to jump directly to its documentation. All services share the same authentication model.

🔐 Authentication

Universal Node Credentials

One pair of keys unlocks every service. Keep your secret confidential — never expose it in client-side code.

CLIENT_ID 2b31411551ec3053
SECRET •••••••••••••••• (visible in dashboard)
!
IP Security Guard If you have whitelisted an IP address in your API Settings, our server will reject all requests from any other IP with a 403 Forbidden error.
✉️ Service 01

SMTP Email API

OneNodeAPI provides reliable, secure infrastructure for sending high-deliverability emails. Our API uses an HMAC-SHA256 signature protocol to ensure that your credentials are never exposed during transit.

1Authentication Headers

Every API request must be authorized using three mandatory headers. The security is based on a dynamic signature that changes every second.

HeaderFormatDescription
X-Client-IDStringYour API Client ID
X-TimestampUnix IntCurrent Unix timestamp in seconds
X-SignatureSHA256HMAC hash of ID + Timestamp

2The Signature Formula

Concatenate your Client ID and Timestamp, then hash it with HMAC-SHA256 using your Client Secret as the key.

$clientId = "your_id";
$clientSecret = "your_secret";
$timestamp = time();
$signature = hash_hmac('sha256', $clientId . $timestamp, $clientSecret);
import time, hmac, hashlib

client_id = "your_id"
secret = "your_secret"
ts = str(int(time.time()))
signature = hmac.new(secret.encode(), (client_id + ts).encode(), hashlib.sha256).hexdigest()
const crypto = require('crypto');
const clientId = "your_id";
const secret  = "your_secret";
const ts = Math.floor(Date.now() / 1000).toString();
const signature = crypto.createHmac('sha256', secret).update(clientId + ts).digest('hex');

3Send Email

POST https://onenodeapi.com/backend/api.php
ParameterTypeDescription
toStringThe recipient's email address
subjectStringThe subject line (UTF-8 supported)
bodyStringYour email content (see plan differences)
Pro Tip For HTML emails, we highly recommend using Inline CSS. Email clients like Gmail often ignore <style> blocks inside the head.

4Plan-Specific Content Handling

Your subscription tier determines how our relay processes your body content.

Basic / Starter Standardized

Free users have their HTML stripped. Only basic tags like <b> and <p> are kept. We append our minimalist footer to every email.

[Stripped Styles]
Your Content
---
powered by smtp.mested.com

Pro / Premium Full HTML

Paid users have total control. Send complex layouts, background images, and custom CSS without any external branding.

<div style="background:#000;">
  <h1>Your Brand</h1>
</div>

5Integration Examples

<?php
$payload = [
    "to" => "user@example.com",
    "subject" => "Test from OneNodeAPI",
    "body" => "<h1>Success!</h1><p>Integration complete.</p>"
];
$ch = curl_init('https://onenodeapi.com/backend/api.php');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'X-Client-ID: ' . $clientId,
    'X-Timestamp: ' . $timestamp,
    'X-Signature: ' . $signature
]);
$response = curl_exec($ch);
echo $response;
?>
import requests, time, hmac, hashlib

client_id = "your_id"
secret = "your_secret"
ts = str(int(time.time()))
sig = hmac.new(secret.encode(), (client_id + ts).encode(), hashlib.sha256).hexdigest()

payload = {
    "to": "user@example.com",
    "subject": "Hello from Python",
    "body": "API Test Successful"
}
headers = {
    "X-Client-ID": client_id,
    "X-Timestamp": ts,
    "X-Signature": sig
}
r = requests.post("https://onenodeapi.com/backend/api.php", json=payload, headers=headers)
print(r.json())
const axios = require('axios');
const crypto = require('crypto');

const clientId = "your_id";
const secret  = "your_secret";
const ts = Math.floor(Date.now() / 1000).toString();
const sig = crypto.createHmac('sha256', secret).update(clientId + ts).digest('hex');

axios.post('https://onenodeapi.com/backend/api.php', {
  to: "user@example.com",
  subject: "Hello from Node",
  body: "<h1>Success</h1>"
}, {
  headers: {
    'X-Client-ID': clientId,
    'X-Timestamp': ts,
    'X-Signature': sig
  }
}).then(r => console.log(r.data));
curl -X POST https://onenodeapi.com/backend/api.php \
  -H "Content-Type: application/json" \
  -H "X-Client-ID: your_id" \
  -H "X-Timestamp: 1700000000" \
  -H "X-Signature: hmac_signature_here" \
  -d '{"to":"user@example.com","subject":"Hi","body":"<p>Hello</p>"}'
🎮 Service 02

IGN Gateway Engine

Real-time player identity verification for Mobile Legends, Genshin Impact, and Honkai Star Rail. Our API handles complex data scraping to ensure your top-up flows are accurate.

1Authentication & Security

Every request to our nodes is validated through a two-tier security system: Credential Validation and IP Whitelisting.

ID 2b31411551ec3053
SECRET ••••••••••••••••

2Verification Endpoint

GET https://onenodeapi.com/ign-backend/gateway.php
ParameterRequiredDescription
client_idYesYour unique One Node Client ID
client_secretYesYour unique One Node Secret
gameYesGame slug: ml, gi, hi
idYesThe Player ID found in game profile
zonePartialServer ID (Mandatory for Mobile Legends)

3Response Codes

HTTP CodeStatusMeaning
200successPlayer verified. ₹0.01 deducted from wallet.
401errorInvalid Client ID or Secret
402errorInsufficient wallet balance
403errorIP Address not whitelisted
404errorUser ID not found in game database

4Implementation Example

$ch = curl_init();
$params = [
    'client_id'     => 'YOUR_ID',
    'client_secret' => 'YOUR_SECRET',
    'game'          => 'ml',
    'id'            => '1114917746',
    'zone'          => '13486'
];
curl_setopt($ch, CURLOPT_URL, "https://onenodeapi.com/ign-backend/gateway.php?" . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['status'] === 'success') {
    echo "Nickname: " . $result['nickname'];
    echo "New Wallet: " . $result['wallet_balance'];
} else {
    echo "Verification Failed: " . $result['message'];
}
curl_close($ch);
import requests

params = {
    'client_id': 'YOUR_ID',
    'client_secret': 'YOUR_SECRET',
    'game': 'ml',
    'id': '1114917746',
    'zone': '13486'
}
r = requests.get("https://onenodeapi.com/ign-backend/gateway.php", params=params)
data = r.json()

if data['status'] == 'success':
    print(f"Nickname: {data['nickname']}")
    print(f"Wallet: {data['wallet_balance']}")
else:
    print(f"Error: {data['message']}")
const axios = require('axios');

axios.get('https://onenodeapi.com/ign-backend/gateway.php', {
  params: {
    client_id: 'YOUR_ID',
    client_secret: 'YOUR_SECRET',
    game: 'ml',
    id: '1114917746',
    zone: '13486'
  }
}).then(r => {
  if (r.data.status === 'success') {
    console.log(`Nickname: ${r.data.nickname}`);
  }
});
curl "https://onenodeapi.com/ign-backend/gateway.php?client_id=YOUR_ID&client_secret=YOUR_SECRET&game=ml&id=1114917746&zone=13486"
i
Usage Billing We only charge for Successful (Status 200) hits. If a player ID is not found or your request is blocked by security, ₹0.00 is deducted.
🤖 Service 03

GPT-4 AI Completion Gateway

Leverage our massive 120B parameter language model for reasoning, coding, and creative tasks. Simple token-based billing at ₹0.80 per 1k tokens.

1Secure Authentication

Our AI nodes use the Universal Node Credentials. These keys are shared across SMTP, IGN, and AI services.

CLIENT_ID 2b31411551ec3053
SECRET ••••••••••••••••

2AI Completion Endpoint

POST https://onenodeapi.com/ai-backend/gateway.php
ParameterTypeDescription
client_idStringYour account Client ID
client_secretStringYour account Client Secret
promptStringThe instruction or question for the AI

3Billing & Tokenomics

Rate Card Per Token

₹0.80 / per 1k tokens

Exchange Value Bulk

10,000 tokens / ₹8.00

4Implementation Example

$params = [
    'client_id'     => 'YOUR_CLIENT_ID',
    'client_secret' => 'YOUR_CLIENT_SECRET',
    'prompt'        => 'Write a Python function to sort a list.'
];
$ch = curl_init("https://onenodeapi.com/ai-backend/gateway.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);

if ($result['status'] === 'success') {
    echo $result['response']; // AI Text
} else {
    echo "Error: " . $result['message'];
}
import requests

data = {
    'client_id': 'YOUR_CLIENT_ID',
    'client_secret': 'YOUR_CLIENT_SECRET',
    'prompt': 'Write a Python function to sort a list.'
}
r = requests.post("https://onenodeapi.com/ai-backend/gateway.php", data=data)
result = r.json()

if result['status'] == 'success':
    print(result['response'])
else:
    print(f"Error: {result['message']}")
const axios = require('axios');

axios.post('https://onenodeapi.com/ai-backend/gateway.php',
  new URLSearchParams({
    client_id: 'YOUR_CLIENT_ID',
    client_secret: 'YOUR_CLIENT_SECRET',
    prompt: 'Write a Python function to sort a list.'
  })
).then(r => {
  if (r.data.status === 'success') console.log(r.data.response);
});
curl -X POST https://onenodeapi.com/ai-backend/gateway.php \
  -d "client_id=YOUR_ID" \
  -d "client_secret=YOUR_SECRET" \
  -d "prompt=Write a Python function to sort a list."

5Error Masking Policy

To prevent server fingerprinting and credential sniffing, our AI node masks internal exceptions. If a request fails due to an API timeout or internal logic crash, the gateway will return:

{ "status": "error", "message": "Unknown error occurred" }
💳 Service 04

Paytm Merchant Gateway

Integrate real-time UPI payments into your application. One Node PG allows you to accept funds directly into your bank account using the Paytm Business protocol.

1Authentication

The Merchant Gateway uses the same Universal Node Credentials as SMTP and IGN.

CLIENT_ID 2b31411551ec3053
SECRET ••••••••••••••••

2Create Payment Order

POST https://onenodeapi.com/pg-backend/order-logic.php
ParameterRequiredDescription
client_idYesYour One Node Client ID
client_secretYesYour One Node Client Secret
order_idYesUnique ID from your website
amountYesTransaction value in INR
redirect_urlYesURL to redirect customer after payment

3Logic Implementation

$params = [
    'client_id'     => '2b31411551ec3053',
    'client_secret' => 'YOUR_SECRET',
    'order_id'      => 'ORDER_101',
    'amount'        => '199.00',
    'redirect_url'  => 'https://yoursite.com/callback'
];
$ch = curl_init("https://onenodeapi.com/pg-backend/order-logic.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);

if ($result['status'] === 'success') {
    header("Location: " . $result['payment_url']);
} else {
    echo "Gateway Error: " . $result['message'];
}
import requests

data = {
    'client_id': '2b31411551ec3053',
    'client_secret': 'YOUR_SECRET',
    'order_id': 'ORDER_101',
    'amount': '199.00',
    'redirect_url': 'https://yoursite.com/callback'
}
r = requests.post("https://onenodeapi.com/pg-backend/order-logic.php", data=data)
result = r.json()
if result['status'] == 'success':
    print("Redirect:", result['payment_url'])
const axios = require('axios');
axios.post('https://onenodeapi.com/pg-backend/order-logic.php',
  new URLSearchParams({
    client_id: '2b31411551ec3053',
    client_secret: 'YOUR_SECRET',
    order_id: 'ORDER_101',
    amount: '199.00',
    redirect_url: 'https://yoursite.com/callback'
  })
).then(r => res.redirect(r.data.payment_url));

4Response Schema

{
    "status": "success",
    "order_token": "a1b2c3d4e5f6...",
    "payment_url": "https://onenodeapi.com/checkout.php?token=a1b2...",
    "quota_remaining": 29850
}
!
Quota Notice Every request consumes 1 unit from your monthly QR Quota (currently: 100).

5Check Order Status

GET https://onenodeapi.com/pg-backend/status-check.php
$params = [
    'client_id'     => 'YOUR_ID',
    'client_secret' => 'YOUR_SECRET',
    'order_id'      => 'ORDER_101'
];
$url = "https://onenodeapi.com/pg-backend/status-check.php?" . http_build_query($params);
$res = json_decode(file_get_contents($url), true);

if ($res['status'] === 'success') {
    $payment = $res['data']['payment_status'];
    if ($payment === 'SUCCESS') {
        echo "Order is paid! UTR: " . $res['data']['bank_utr'];
    } else {
        echo "Order is still pending.";
    }
}
import requests
r = requests.get("https://onenodeapi.com/pg-backend/status-check.php", params={
    'client_id': 'YOUR_ID',
    'client_secret': 'YOUR_SECRET',
    'order_id': 'ORDER_101'
})
res = r.json()
if res['status'] == 'success' and res['data']['payment_status'] == 'SUCCESS':
    print("Paid! UTR:", res['data']['bank_utr'])
🎵 Service 05

AI Song Synthesis

Generate professional-grade audio tracks from lyrics using the Mested-Sonic-V2 node. Complete with vocals, instrumentation, and arrangement.

Rendering Latency Notice High-fidelity audio synthesis requires massive computational power. Once a request is accepted, our neural nodes enter a deep-rendering cycle. Final audio delivery typically takes between 5 to 24 hours. Please ensure your application handles this asynchronous delay.

1Credentials

CLIENT_ID 2b31411551ec3053
SECRET ••••••••••••••••

2Initialize Generation

POST https://onenodeapi.com/ai-songs-backend/api.php?action=generate
ParamRequiredDescription
titleNoName of the track
vibeYesStyle (e.g., "Sad Melodic Pop")
lyricsYesText content (Max 20k chars)
voiceNomale, female, or random

3Implementation Example

$params = [
    'client_id'     => '2b31411551ec3053',
    'client_secret' => 'YOUR_SECRET',
    'action'        => 'generate',
    'title'         => 'Neon Sunset',
    'vibe'          => '80s Synthwave',
    'lyrics'        => 'Driving down the highway, sky is turning gold...'
];
$ch = curl_init("https://onenodeapi.com/ai-songs-backend/api.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);

if ($response['status'] === 'success') {
    echo "Processing Request ID: " . $response['request_id'];
    echo "Wait time: 5-24 Hours.";
}
import requests
data = {
    'client_id': '2b31411551ec3053',
    'client_secret': 'YOUR_SECRET',
    'action': 'generate',
    'title': 'Neon Sunset',
    'vibe': '80s Synthwave',
    'lyrics': 'Driving down the highway, sky is turning gold...'
}
r = requests.post("https://onenodeapi.com/ai-songs-backend/api.php", data=data)
print(r.json())
const axios = require('axios');
axios.post('https://onenodeapi.com/ai-songs-backend/api.php',
  new URLSearchParams({
    client_id: '2b31411551ec3053',
    client_secret: 'YOUR_SECRET',
    action: 'generate',
    title: 'Neon Sunset',
    vibe: '80s Synthwave',
    lyrics: 'Driving down the highway...'
  })
).then(r => console.log('Request ID:', r.data.request_id));
i
Deduction Logic 1 Credit is deducted upon successful acceptance of the generation request. If the neural engine fails to produce the track, credits are automatically re-synchronized.
⚠️ Reference

Universal Error Codes

Standard HTTP status codes returned by our gateway. Always check the JSON status field for service-level validation.

StatusError MessageHow to Fix
400Incomplete payloadEnsure required fields are sent
401Invalid Signature / CredentialsCheck your Secret and Timestamp UTC
402Insufficient balanceTop up your wallet from dashboard
403IP not whitelistedAdd server IP in Dashboard → API Access
404Resource not foundVerify the ID or endpoint URL
429Daily limit reachedUpgrade plan or wait for quota reset
🧰 SDK Library

Cross-Language SDK Examples

Quick boilerplate to authenticate and ping any OneNodeAPI endpoint, available in PHP, Python, Node.js, Go, Ruby and Java.

<?php
class OneNodeAPI {
    private $id, $secret;
    public function __construct($id, $secret) {
        $this->id = $id; $this->secret = $secret;
    }
    public function call($endpoint, $params = []) {
        $params['client_id'] = $this->id;
        $params['client_secret'] = $this->secret;
        $ch = curl_init($endpoint);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        return json_decode(curl_exec($ch), true);
    }
}

$api = new OneNodeAPI('YOUR_ID', 'YOUR_SECRET');
$res = $api->call('https://onenodeapi.com/ai-backend/gateway.php', [
    'prompt' => 'Hello AI!'
]);
print_r($res);
import requests

class OneNodeAPI:
    def __init__(self, client_id, secret):
        self.id = client_id
        self.secret = secret

    def call(self, endpoint, params=None):
        params = params or {}
        params['client_id'] = self.id
        params['client_secret'] = self.secret
        return requests.post(endpoint, data=params).json()

api = OneNodeAPI('YOUR_ID', 'YOUR_SECRET')
result = api.call('https://onenodeapi.com/ai-backend/gateway.php',
                  {'prompt': 'Hello AI!'})
print(result)
const axios = require('axios');

class OneNodeAPI {
  constructor(id, secret) {
    this.id = id;
    this.secret = secret;
  }
  async call(endpoint, params = {}) {
    params.client_id = this.id;
    params.client_secret = this.secret;
    const { data } = await axios.post(endpoint, new URLSearchParams(params));
    return data;
  }
}

const api = new OneNodeAPI('YOUR_ID', 'YOUR_SECRET');
api.call('https://onenodeapi.com/ai-backend/gateway.php', {
  prompt: 'Hello AI!'
}).then(console.log);
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strings"
)

func call(endpoint string, params map[string]string) ([]byte, error) {
    params["client_id"] = "YOUR_ID"
    params["client_secret"] = "YOUR_SECRET"
    form := url.Values{}
    for k, v := range params { form.Add(k, v) }
    res, err := http.Post(endpoint, "application/x-www-form-urlencoded",
        strings.NewReader(form.Encode()))
    if err != nil { return nil, err }
    defer res.Body.Close()
    return ioutil.ReadAll(res.Body)
}

func main() {
    body, _ := call("https://onenodeapi.com/ai-backend/gateway.php",
        map[string]string{"prompt": "Hello AI!"})
    fmt.Println(string(body))
}
require 'net/http'
require 'json'

class OneNodeAPI
  def initialize(id, secret)
    @id = id; @secret = secret
  end
  def call(endpoint, params = {})
    params['client_id'] = @id
    params['client_secret'] = @secret
    uri = URI(endpoint)
    res = Net::HTTP.post_form(uri, params)
    JSON.parse(res.body)
  end
end

api = OneNodeAPI.new('YOUR_ID', 'YOUR_SECRET')
puts api.call('https://onenodeapi.com/ai-backend/gateway.php',
              { 'prompt' => 'Hello AI!' })
import java.net.*;
import java.net.http.*;
import java.util.*;

public class OneNodeAPI {
    public static void main(String[] args) throws Exception {
        var params = "client_id=YOUR_ID"
                   + "&client_secret=YOUR_SECRET"
                   + "&prompt=" + URLEncoder.encode("Hello AI!", "UTF-8");

        var client = HttpClient.newHttpClient();
        var req = HttpRequest.newBuilder()
            .uri(URI.create("https://onenodeapi.com/ai-backend/gateway.php"))
            .header("Content-Type", "application/x-www-form-urlencoded")
            .POST(HttpRequest.BodyPublishers.ofString(params))
            .build();

        var res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
💬 Support

Need a Helping Hand?

Our technical node is available around the clock. Reach out via email and we'll get back within a few hours.

📧 Technical Support 24/7

For UTR sync, redirect hooks, signature errors and node downtime.

support@onenodeapi.com

💼 Business & Sales Mon–Sat

For higher limits, custom enterprise plans, and partnership requests.

info@onenodeapi.com
Copied to clipboard