!

Notice: Due to our open long-term partnership and ongoing advertising-litigation matters, the public website at nlscug.com has been discontinued for front-end visitors. It remains fully operational for licensed api.nlscug.com machine-to-machine connections. Please continue browsing here.

Reference

API Documentation

REST over HTTPS. JSON in, JSON out. All endpoints are versioned under /v1 and require a bearer token issued from your Server Authority Token.

Overview

Base URL: https://api.nlscug.com/v1

Every response carries X-Request-Id for support correlation. Timestamps are ISO-8601 UTC. All payloads are UTF-8 JSON.

Authentication

Pass a JWT signed by your Server Authority Token in the Authorization header.

curl https://api.nlscug.com/v1/send \
  -H "Authorization: Bearer eyJhbGciOiJFZERTQSI..."

Tokens are minted by exchanging your signed assertion at POST /v1/auth/token.

Errors

{
  "error": "not_found",
  "message": "No message matches id msg_9999",
  "request_id": "req_01HX..."
}

Standard HTTP status codes: 400 invalid input, 401 missing/invalid bearer, 403 license scope mismatch, 404 not found, 422 unsendable recipient, 429 rate-limited, 5xx server.

Rate limits

Lifetime licenses include 100 messages/second per token, burst 400, and 50,000 recipients per campaign call. Need more throughput? Email api@nlscug.com.

Transactional SMTP Relay

Authenticated SMTP over TLS for transactional mail. Connect any mail client or framework to the relay host using credentials minted from your Server Authority Token.

HOSTsmtp.nlscug.com:587STARTTLS submission endpoint
HOSTsmtp.nlscug.com:465Implicit TLS submission endpoint
POST/v1/smtp/credentialsMint scoped SMTP username & password
curl -X POST "https://api.nlscug.com/v1/smtp/credentials" \
  -H "Authorization: Bearer $SLF_TOKEN" \
  -d '{"label":"app-prod","scope":"send"}'

Send API

Send a single transactional email — receipts, OTPs, password resets — over HTTPS instead of SMTP. Supports HTML, plain text, templates and attachments.

POST/v1/sendSend one transactional message
GET/v1/messages/{message_id}Fetch delivery status & events
GET/v1/messages?status={s}List recent messages by status
curl -X POST "https://api.nlscug.com/v1/send" \
  -H "Authorization: Bearer $SLF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@yourdomain.ug",
    "to": "customer@example.com",
    "subject": "Your receipt",
    "html": "<h1>Thank you</h1>"
  }'

Bulk Campaign API

Send newsletters and announcements to managed lists with per-domain throttling, suppression and unsubscribe handling baked in.

POST/v1/campaignsCreate a campaign from a template & list
POST/v1/campaigns/{id}/sendQueue the campaign for delivery
GET/v1/campaigns/{id}/statsOpens, clicks, bounces & unsubscribes
POST/v1/lists/{id}/contactsAdd or upsert contacts to a list
curl -X POST "https://api.nlscug.com/v1/campaigns" \
  -H "Authorization: Bearer $SLF_TOKEN" \
  -d '{"list_id":"lst_01","template_id":"tpl_news","subject":"March update"}'

Automation Flows API

Event-driven flows with triggers, delays and conditional branches. Send the right email at the right moment based on webhooks or schedules.

POST/v1/flowsCreate an automation flow definition
POST/v1/flows/{id}/triggerFire an event into a flow
PATCH/v1/flows/{id}Update steps, delays or branches
GET/v1/flows/{id}/runsInspect flow run history
curl -X POST "https://api.nlscug.com/v1/flows/flow_welcome/trigger" \
  -H "Authorization: Bearer $SLF_TOKEN" \
  -d '{"contact":"customer@example.com","data":{"name":"Amina"}}'

Inbound Parse & Webhooks

Route incoming mail to your endpoints as structured JSON. Configure an MX-routed address and receive parsed replies, attachments and spam scores.

POST/v1/inbound/routesRegister an inbound address & webhook URL
GET/v1/inbound/routesList configured inbound routes
GET/v1/inbound/messages/{id}Fetch a parsed inbound message
curl -X POST "https://api.nlscug.com/v1/inbound/routes" \
  -H "Authorization: Bearer $SLF_TOKEN" \
  -d '{"address":"support@yourdomain.ug","webhook":"https://app/hook"}'

Server Authority Token — Lifetime

A sovereign ED25519 keypair bound to your verified legal identity. Used to sign JWTs that every NLSC service trusts without further negotiation.

POST/v1/auth/tokenExchange a signed assertion for a short-lived bearer JWT
GET/v1/auth/jwksPublic JWKS for downstream services
POST/v1/auth/introspectValidate a presented bearer token
curl -X POST "https://api.nlscug.com/v1/auth/token" \
  -H "Content-Type: application/json" \
  -d '{"assertion":"eyJhbGciOiJFZERTQSI..."}'

NLSCEVO — WhatsApp API (Evolution)

Beyond email, NLSC ships NLSCEVO — a full WhatsApp API built on the Evolution engine. Send and receive WhatsApp messages, media, groups and status directly from your own number, fully eliminating third-party providers like Twilio. Authenticate with a Bearer token, exactly like the rest of the API.

curl -X POST "https://evo.nlscug.com/message/sendText/sales-team" \
  -H "Authorization: Bearer <copied token>" \
  -d '{"number":"256700000000","text":"Hello from NLSCEVO"}'

NLSCEVO vs Twilio & other providers

FeatureNLSCEVOTwilio & others
Pricing modelOne-time USh 760,000 lifetime licensePer-message + per-number monthly fees
WhatsApp sending & receivingFull inbound & outbound, nativeOutbound + inbound via approved templates
Number ownershipYour own number, no reseller lock-inNumber leased from provider
Message templates approvalNo third-party gatekeepingMeta + Twilio template review
Media, groups & statusImages, audio, docs, groups, statusLimited group / status support
SupportFull-time lifetime support includedPaid support tiers
UpdatesLifetime free updatesSubject to API version changes
Data sovereigntySigned & settled in Uganda (UGX)Foreign billing & data residency
Read the full NLSCEVO API reference →

USh 500,000 per API · Server Authority Token issued in 2 working days.

Explore lifetime licenses →