Authentication
API Key
All V1 API requests require an API key sent in the X-API-Key header:
POST /v1/orders
X-API-Key: your-64-char-hex-api-key
Content-Type: application/json
You can also pass the key as a query parameter (not recommended for production):
GET /v1/orders?api_key=your-64-char-hex-api-key
Your API key is available in the merchant dashboard under Settings → API Credentials.
Treat your API key like a password. Never expose it in client-side JavaScript or mobile app bundles. All API calls should be made from your server.
Request Signature (Optional)
If you have configured a Webhook Secret in the dashboard, you can optionally sign write requests to add an extra layer of verification. This is not required unless your platform administrator has mandated it.
Algorithm: HMAC-SHA256 of the raw request body using your webhook_secret.
Header format:
X-Signature: sha256=<lowercase-hex-digest>
Generating the Signature
$body = json_encode($payload);
$secret = 'your-webhook-secret';
$signature = 'sha256=' . hash_hmac('sha256', $body, $secret);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: ' . $apiKey,
'X-Signature: ' . $signature,
'Content-Type: application/json',
]);
const crypto = require('crypto');
const body = JSON.stringify(payload);
const signature = 'sha256=' + crypto
.createHmac('sha256', webhookSecret)
.update(body)
.digest('hex');
fetch('https://api.nusio-saka.com/v1/orders', {
method: 'POST',
headers: {
'X-API-Key': apiKey,
'X-Signature': signature,
'Content-Type': 'application/json',
},
body,
});
Credential Rotation
You can rotate your API key and secret from the merchant dashboard under Settings → API Credentials → Rotate. Old credentials are invalidated immediately, so ensure you update all integrations before rotating.