Getting Started
Make your first Nodukan API call in 5 minutes — generate a key, call an endpoint, schedule a post, and set up a webhook.
Getting Started
This guide walks you from zero to a working integration in about 5 minutes. By the end you'll have made a real API call, scheduled a social post, and configured a webhook.
Prerequisites#
- A Nodukan creator account (sign up here if you don't have one)
curlor any HTTP client (Postman, Insomnia, HTTPie)- Optional: Node.js 18+ for the code samples
Step 1 — Sign up for developer access#
Head to developer.nodukan.com/signup and create a developer account. If you already have a creator account, you can use the same credentials.
Once logged in, navigate to Dashboard → API Keys.
Step 2 — Generate an API key#
- Click Create new key
- Give it a descriptive name (e.g.
my-crm-integration) - Select the scopes your integration needs (see Authentication → Scopes for the full list)
- Click Generate
Your key is shown once. Copy it immediately and store it in a secrets manager or environment variable.
NDK_live_k8f3mxqt2vrz9ywn.a7d4e1b9c2f0g5h6j3k8m2p4q7r1s9t0
Never commit your API key to version control, log it to stdout, or expose it in client-side code. Keys beginning with NDK_live_ are production keys; NDK_test_ keys are safe to use in development.
Step 3 — Make your first request#
Let's verify the key works by calling the /account endpoint:
curl https://api.nodukan.com/v1/account \
-H "Authorization: Bearer NDK_live_YOUR_KEY_HERE"
You should receive a 200 OK with your account details:
{
"data": {
"id": "usr_01j9x4km2v",
"name": "Priya Sharma",
"email": "[email protected]",
"username": "priyasharma",
"plan": "pro",
"timezone": "Asia/Kolkata",
"createdAt": "2024-08-15T09:00:00Z"
},
"requestId": "req_01j9xabc123"
}
Now let's fetch your lead magnets — any content giveaways you've set up for lead capture:
curl "https://api.nodukan.com/v1/lead-magnets?limit=5" \
-H "Authorization: Bearer NDK_live_YOUR_KEY_HERE"
In Node.js:
const res = await fetch('https://api.nodukan.com/v1/lead-magnets?limit=5', {
headers: { Authorization: 'Bearer NDK_live_YOUR_KEY_HERE' },
});
const { data, pagination } = await res.json();
console.log(`You have ${pagination.total} lead magnets.`);
Step 4 — Schedule a social post#
Let's schedule a LinkedIn post for tomorrow morning:
curl -X POST https://api.nodukan.com/v1/social/posts \
-H "Authorization: Bearer NDK_live_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"platform": "linkedin",
"content": "Excited to share my new free Notion template for creators! Link in bio. 🚀 #creators #productivity",
"scheduledAt": "2026-05-07T06:00:00+05:30",
"connectionId": "conn_01j9x..."
}'
Response:
{
"data": {
"id": "post_01j9xzk3m",
"platform": "linkedin",
"status": "scheduled",
"scheduledAt": "2026-05-07T06:00:00+05:30",
"content": "Excited to share my new free Notion template..."
},
"requestId": "req_01j9x9d2e"
}
You need the social:write scope and an active LinkedIn connection to schedule posts. Find your connectionId by calling GET /social/connections first.
Step 5 — Set up a webhook#
Register an endpoint to receive real-time events. Here we subscribe to lead.captured so we're notified the moment someone submits one of your lead magnets:
curl -X POST https://api.nodukan.com/v1/webhooks \
-H "Authorization: Bearer NDK_live_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.example.com/webhooks/nodukan",
"events": ["lead.captured"],
"description": "Forward leads to CRM"
}'
Response:
{
"data": {
"id": "wh_01j9xnk2p",
"url": "https://your-server.example.com/webhooks/nodukan",
"events": ["lead.captured"],
"signingSecret": "whsec_01j9xm4r...",
"isActive": true,
"createdAt": "2026-05-06T10:00:00Z"
},
"requestId": "req_01j9x5e3f"
}
Save the signingSecret — it's shown only once and is used to verify webhook payloads using HMAC-SHA256. See the Webhook Verification guide for implementation details.
Nodukan will now POST a signed payload to your URL every time a lead is captured. Use the test endpoint to confirm delivery:
curl -X POST https://api.nodukan.com/v1/webhooks/wh_01j9xnk2p/test \
-H "Authorization: Bearer NDK_live_YOUR_KEY_HERE"
What next?#
You've made your first API call, scheduled a post, and registered a webhook. Here's where to go from here:
| Topic | Where to go |
|---|---|
| All authentication options, scopes, and key rotation | Authentication |
| Rate limit headers and retry strategies | Rate Limits |
| Full error code reference | Errors |
| Webhook payload format and HMAC verification | Webhooks |
| Build an Auto-DM bot end to end | Auto-DM Quickstart guide |
| Sync leads to your CRM | Lead Magnet Funnel guide |
| Interactive API explorer | API Reference |
Last updated