Quickstart
Get from zero to your first authenticated API call in five minutes.
1. Sign up
Create a seller account at /signup. Pick the seller role during signup so you get a Growth Engine wallet provisioned automatically on the Free tier.
2. Get an access token
Indibaba uses JWT bearer tokens. The simplest way is the password login endpoint:
curl -X POST https://api.indibaba.com/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"phone": "+919998887776",
"password": "your-password"
}'The response includes:
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 900
}Access tokens expire after 15 minutes; use the refresh token at POST /v1/auth/refresh to get a new one.
3. Call an authenticated endpoint
Fetch your billing wallet to confirm auth works:
curl https://api.indibaba.com/v1/seller/growth/billing/wallet \
-H "Authorization: Bearer eyJ..."{
"data": {
"wallet": {
"id": 42,
"owner_type": "seller",
"owner_id": 1234,
"tier": "free",
"balances": {
"campaign_sends": 500,
"voice_call_seconds": 0,
"chatbot_tokens": 10000,
"automation_runs": 50,
"webhook_deliveries": 100,
"import_rows": 1000
},
"effective_caps": { "...": "..." },
"auto_recharge_enabled": false
},
"recent_ledger": []
}
}4. Create your first contact
curl -X POST https://api.indibaba.com/v1/seller/growth/contacts \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{
"email": "lead@example.com",
"full_name": "First Lead",
"tags": ["from-api"]
}'Returns the created contact with its assigned id. From here you can add it to a segment, target it with a campaign, or let an automation pick it up via the contact_subscribed trigger.
5. Wire a webhook
Subscribe to events you care about and route them to your CRM:
curl -X POST https://api.indibaba.com/v1/seller/growth/webhooks \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{
"name": "Zapier CRM sync",
"url": "https://hooks.zapier.com/hooks/catch/123/abc",
"subscribed_event_types": [
"marketing.contact.created",
"orders.completed"
]
}'The response includes a secret_plain field returned once. Store it immediately — it’s used to verify deliveries. See the webhook signatures guide for verifier samples in 4 languages.
mock_* ids so you can develop end-to-end without live credentials.What next?
- Browse the full API reference for every endpoint.
- Read the webhook signing scheme before deploying receivers.
- Check the seller dashboard at /seller for the UI-side view of everything you can do via API.