/ Developers — TEGO API

Email, SMS & AI under your brand.

One API connects your site to every channel — sending through your own verified domain and A2P-registered number, not a shared relay. We run the infrastructure. You build on it.

curl · POST /api/v1/email/send
curl https://tegomarketing.com/api/v1/email/send \
  -H "Authorization: Bearer tego_k_…" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "athlete@example.com",
    "subject": "You're registered",
    "html": "<p>See you at the start line.</p>"
  }'

# → { "ok": true, "messageId": "a1b2c3…" }
Build

Your site, your product. Call one API instead of stitching together four vendors.

Grow

Every send goes out as you — your domain, your number — so deliverability and replies stay yours.

Run

We run domains, A2P registration, wallets, and metering. You never touch the plumbing.

/ Capabilities

Four channels, one key

Live

Email

POST /email/send
scope: email:sendenabled: Verified sending domain
Live

AI (structured)

POST /ai/object
scope: ai:generateenabled: Always — metered per call
Live

Contacts & events

GET · POST /contacts
scope: contacts:read · writeenabled: CRM enabled on the account
Rolling out

SMS

POST /sms/send
scope: sms:sendenabled: A2P-registered number
GET /me

Keys that describe themselves

One call returns the channels a key can use and the identity it sends as — so your app configures itself instead of hard-coding what’s enabled.

response · GET /api/v1/me
{
  "account": "sorted-luxe",
  "channels": {
    "email": { "enabled": true, "from": "hello@sortedluxe.com" },
    "sms":   { "enabled": false, "reason": "A2P pending" },
    "ai":    { "enabled": true }
  }
}
/ In production

Receipts, not docs.

This isn’t a beta. Client products already run on these endpoints today — under their own domains, billed to their own accounts.

POST /email/send

Sorted Luxe

Transactional email fires from the client site through TEGO SES — sent under their domain, tracked, and suppression-aware.

POST /ai/object

Sorted Luxe & ADK

Conversational intakes run structured Claude calls on TEGO's key — no model key on the client site, metered per account.

POST /contacts

Alpha Win

Every confirmed race registration upserts a contact by email — tag union, custom fields merged — straight into the CRM.

/ Quickstart

From key to first send in minutes

01

Authenticate

Every request carries your key as a bearer token. Keys are scoped and can be bound to a single account, so a client-site key always routes and bills to the right place.
header
Authorization: Bearer tego_k_…
02

Send under your brand

The from address and number are derived server-side from your verified domain and A2P number — callers can’t spoof identity.
03

Everything is metered

Email, SMS, and AI draw from per-account wallets and usage — you pay for what you send, billed to your account automatically.
curl · POST /api/v1/ai/object
curl https://tegomarketing.com/api/v1/ai/object \
  -H "Authorization: Bearer tego_k_…" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      { "role": "user", "content": "Extract the race name and date." }
    ],
    "schema": {
      "type": "object",
      "properties": {
        "race": { "type": "string" },
        "date": { "type": "string" }
      },
      "required": ["race", "date"]
    }
  }'

# → { "object": { "race": "Lake George Triathlon", "date": "2026-09-05" } }
curl · POST /api/v1/sms/send (rolling out)
curl https://tegomarketing.com/api/v1/sms/send \
  -H "Authorization: Bearer tego_k_…" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+15551234567",
    "body": "Alpha Win: packet pickup 7–8:30am. Reply STOP to opt out."
  }'

# The from-number is your own A2P-registered number — server-derived,
# never spoofable. Requires an approved A2P number on the account.
/ Auth & scopes

Scoped keys, no shared secrets

  • Bearer keys prefixed tego_k_, encrypted at rest (AES-256-GCM).
  • Per-scope grants — a key gets only what it needs.
  • Account-bound keys can't be redirected to another client by the request.
email:sendsms:sendai:generatecontacts:readcontacts:writespaces:reademail:readfinancials:read
/ Errors

Predictable JSON

Every error is JSON with a stable code and a human message. Standard statuses: 401 unauthorized, 400 validation, 403 not enabled, 404 not found.

response · 403
{
  "error": {
    "code": "SMS_NOT_ENABLED",
    "message": "No A2P-approved number on this account."
  }
}
/ Pricing

Metered, not subscribed.

Every channel bills to your account, with usage visible in your Billing tab. No seat fees. No per-contact tax.

Email

Prepaid wallet

A per-account credit wallet with optional auto-recharge. You set the rate; sends draw down and reconcile after delivery.

SMS

Prepaid wallet

Same wallet model, charged per segment. Routes through your own A2P number — reply attribution and opt-outs stay yours.

AI

Per call

Billed on tokens per request, metered to your account. Run Claude on TEGO's key so no model secret ever leaves the platform.

Build on TEGO. Request your API key.

Get started
Send under your own domain & numberDirect — aidan@tegomarketing.com