/ 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

Discovery

GET /me
scope: any valid keyenabled: Always
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

Events & workflows

GET · POST /events
scope: events:read · writeenabled: Key bound to a client account
Live

Contacts & events

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

CRM sync

/crm/{organizations,deals,tasks,…}
scope: crm:read · writeenabled: Key bound to a client account
Rolling out

Email finder

/crm/email-finder/{jobs,estimate}
scope: crm:read · writeenabled: Key bound to a client account; finder turned on by TEGO
Rolling out

Cold outreach

/outreach/{sequences,enrollments,replies,mailboxes}
scope: outreach:read · writeenabled: Key bound to a client account
Rolling out

Marketing calendar

/calendar/events
scope: calendar:read · writeenabled: Email marketing on the account
Rolling out

SMS

POST /sms/send
scope: sms:sendenabled: A2P-registered number
Rolling out

Documents

/documents
scope: documents:read · writeenabled: Key bound to a client account
Rolling out

Reports

GET /reports/monthly
scope: reports:readenabled: Key bound to a client account
Rolling out

Webhook deliveries

GET /webhooks/deliveries
scope: webhooks:readenabled: Key bound to a client account
Rolling out

Insights

GET /insights/site
scope: analytics:read · search:read · reviews:read · writeenabled: Key bound to a client account
Rolling out

Brand

GET /brand
scope: brand:readenabled: Key bound to a client account
Rolling out

Email drafts

GET /email/templates · POST /email/campaigns
scope: email:read · email:writeenabled: Key bound to a client account with email
Rolling out

Social drafts

GET · POST /social/posts
scope: social:read · social:writeenabled: A connected social account
Rolling out

Financials

GET /financials/transactions
scope: financials:readenabled: A connected bank account
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": "No active number on this account." },
    "ai":    { "enabled": true }
  },
  "scopes": ["email:send", "ai:generate"]
}
/ 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.
curl · POST /api/v1/events
curl https://tegomarketing.com/api/v1/events \
  -H "Authorization: Bearer tego_k_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "web_order",
    "data": { "items": "2x Stefan sticker", "total": "$4.00", "how": "PICKUP" }
  }'

# → { "ok": true, "name": "web_order" }   (202 — recorded, not yet acted on)
#
# Build a workflow in the portal with an "External event" trigger named
# web_order, and every field in `data` is available to its steps as
# {{data.items}}, {{data.total}}, {{data.how}}. Change what the email says,
# who it goes to, or add an SMS — no deploy of your app.
/ Connect your AI

Your AI, working your account.

TEGO runs an MCP server. Point Claude, Cursor or any MCP client at it with your key, and it can read your pipeline, contacts, campaign results, monthly reports, website traffic, Google search and reviews, tickets, calendar, invoices and estimates, and your brand and products. With write scopes it can also update the records and draft invoices, emails, social posts in your brand, and review replies for us to approve. It never sends, posts, schedules, publishes or launches anything, and it never takes a payment: that stays in your portal.

01

One key, one account

The same bearer key as the API, bound to your account. Make one in your portal under Account, then Connect your AI, which walks you through pasting it in. A connection reaches that account and no other, whatever it is asked.
02

Scopes decide the tools

A key with crm:read sees the pipeline tools; reports:read adds campaign results and monthly reports. Results are paged, every call is logged.
03

Writes are retry-safe

crm:write, contacts:write and the other write scopes add tools that create and update records. Creates take an externalId, so an assistant that retries gets the first record back instead of a second one.
whoamisearch_contactsget_contactlist_organizationsget_pipelinelist_dealslist_taskslist_campaignsget_monthly_reportlist_ticketslist_calendar_eventslist_replieslist_sequenceslist_documentsget_documentget_site_analyticsget_visitor_geoget_keyword_rankingsget_keyword_gapslist_reviewsget_campaign_reportget_list_healthget_brandlist_productslist_email_templateslist_segmentsget_audience_sizelist_social_accountslist_social_postslist_ticket_repliesget_sequencelist_webhook_deliveriesupsert_contactupsert_organizationcreate_dealmove_dealclose_dealcreate_taskcomplete_taskadd_notecreate_ticketcreate_calendar_eventenroll_in_sequencecreate_invoice_draftmark_invoice_paiddraft_review_replycreate_campaign_draftcreate_social_draftreply_to_ticketcreate_sequence_draft
Make a key in your portal ->
claude code
claude mcp add --transport http tego https://www.tegomarketing.com/api/mcp \
  --header "Authorization: Bearer tego_k_…"

Run it in your terminal. Start Claude Code and type /mcp: tego shows as connected.

cursor
// .cursor/mcp.json
{
  "mcpServers": {
    "tego": {
      "url": "https://www.tegomarketing.com/api/mcp",
      "headers": { "Authorization": "Bearer tego_k_…" }
    }
  }
}

Save it as .cursor/mcp.json in your project, or paste it under Cursor Settings, then MCP. Reload Cursor: tego appears in the MCP list with a green dot.

claude desktop
// claude_desktop_config.json
{
  "mcpServers": {
    "tego": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.tegomarketing.com/api/mcp",
               "--header", "Authorization: Bearer ${TEGO_KEY}"],
      "env": { "TEGO_KEY": "tego_k_…" }
    }
  }
}

In Claude Desktop open Settings, then Developer, then Edit Config. Paste it into claude_desktop_config.json. If the file already has mcpServers, add the tego entry inside it. Save and restart Claude Desktop. It needs Node.js installed for npx.

/ 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.
  • Sends are rate limited per account — a 429 carries Retry-After. Retries are not deduplicated, so key your own idempotency.
email:sendsms:sendai:generatecontacts:readcontacts:writecrm:readcrm:writeoutreach:readoutreach:writecalendar:readcalendar:writedocuments:readdocuments:writereports:readwebhooks:readanalytics:readsearch:readreviews:readreviews:writebrand:reademail:writesocial:readsocial: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