Skip to content
WeZend

Getting started

Build with AI (Claude, ChatGPT & friends)

Paste one context block into your AI assistant and it can wire WeZend into whatever it's building for you — forms, notifications, CDP events, journeys.

If you're building your product with Claude, ChatGPT, Cursor or any other AI assistant, you don't need to read our docs — your assistant does, and we've made that trivial.

The two URLs your assistant should know

  • https://wezend.com/llms.txt — a compact map of everything on this site (llms.txt convention).
  • https://wezend.com/llms-full.txt — the entire documentation as one plain-text file: every endpoint, every field, every example. Small enough for a modern context window, complete enough to build against without browsing.

If your assistant can fetch URLs, one instruction suffices: "Read https://wezend.com/llms-full.txt and integrate WeZend."

The copy-paste context pack

No URL fetching? Paste this block into the conversation instead — it's the minimum an LLM needs to integrate correctly:

WEZEND API — INTEGRATION CONTEXT
Base URL: https://api.wezend.com  (all paths below are under /v1)
Auth: header  X-API-Key: <key>   (server-side only — NEVER in browser code)

SEND A MESSAGE (any channel: sms | email | whatsapp | voice | push | inapp)
  POST /v1/messages/send
  { "to": "+4512345678" | "a@b.com", "channel": "sms", "sender": "Acme",
    "message": "text", "subject": "(email)", "html": "(email)",
    "template_id": "tpl_… (optional)", "variables": { }, "webhook_url": "(optional)" }
  → 201 { "message_id", "status": "queued", "cost", "currency" }
  Status: GET /v1/messages/:id   Bulk: POST /v1/messages/bulk { "messages": [ … ] }

CONTACTS (CDP)
  POST  /v1/contacts             { "email", "phone", "first_name", …custom fields }
  PATCH /v1/contacts/:id         (partial update; matched/deduped on email/phone)
  POST  /v1/contacts/fields      { "key", "type": "text|number|date|boolean", "label" }
  POST  /v1/contacts/import      (CSV)

BEHAVIOURAL EVENTS (feeds segments & journeys)
  POST /v1/events
  { "contact": { "email": "a@b.com" }, "event": "order_completed",
    "properties": { "value": 499, "currency": "DKK" } }

LEAD FORMS (public — safe in browser code, no API key)
  POST https://api.wezend.com/forms/<form-key>/submit   { "email", …fields }
  Hosted page: GET https://api.wezend.com/forms/<form-key>

DELIVERY WEBHOOKS (configure URL in dashboard or per-send webhook_url)
  You receive: POST { "message_id", "status": "delivered|failed|…", "timestamp", … }
  Verify the X-WeZend-Signature header with your webhook secret (GET /v1/webhook-secret).

RULES FOR GENERATED CODE
  1. API key lives in an env var (WEZEND_API_KEY), called from backend code only.
  2. Public browser code may only call /forms/<key>/submit — nothing else.
  3. Marketing sends require consent; transactional sends set "category": "transactional".
  4. Use E.164 phone numbers (+4512345678). Handle 402 (insufficient balance) and 429 (rate limit).
Full reference: https://wezend.com/llms-full.txt

Prompts that work

"Add a newsletter signup to my site's footer that submits to my WeZend form site-footer with a success state."

"When a user completes checkout in this Express app, send an order-confirmation email via WeZend and track an order_completed event with the order value."

"Build a /webhooks/wezend endpoint that verifies the signature and marks messages delivered in my DB."

The assistant has everything it needs in the pack above — endpoints, shapes, and the security rules that keep it from putting your API key in a browser bundle.

Getting your credentials

  1. Create an account and grab a key under Settings → API keys.
  2. Create a form under Audience → Forms if the assistant is building signup UI.
  3. Set WEZEND_API_KEY in your project's environment — and let the assistant do the rest.

Want to operate, not just build?

With Connect AI (MCP) your assistant doesn't just write code against WeZend — it runs your account directly: 34 customer-scoped tools for segments, campaigns, journeys, domains and budgets, with real sends behind an explicit confirmation.

One platform. Every customer interaction.

Replace your patchwork of messaging APIs, CDP and automation tools with a single engagement platform built for scale.

No credit card required · EU data residency · 99.99% uptime SLA