API Reference

REST API

The Badex Signature API is used internally by the signature engine to look up policies and render signatures per sender. It supports both Microsoft 365 users (synced from Azure AD) and Generic SMTP accounts.

How It Works Get Signature Endpoints Rate Limits Error Codes

How It Works

Badex Signature operates at the server level — no plugins, no client-side configuration required.

Microsoft 365 Flow
1
Email sent from Outlook
User sends an email — Exchange routes it via the outbound connector to Badex
2
Signature lookup
Badex queries the API for the sender's signature based on active policies
3
Signature applied
The correct signature is rendered with the sender's Azure AD profile data
4
Delivered via Graph API
Email is redelivered through Microsoft Graph API — SPF, DKIM and DMARC compliant
Generic SMTP Flow
1
Email sent via SMTP
Client connects to smtp.signature.badex.app:587 with STARTTLS
2
Signature lookup
Badex queries the API for the sender's signature based on active policies
3
Signature applied
The correct signature is appended to the email
4
DKIM signed & delivered
Email is DKIM signed and delivered directly to the recipient's MX

Get Signature

Returns the rendered HTML signature for a given email address, based on the active policy and template assigned to that sender.

GET /api/signature?email={email}

Parameters:

Parameter Type Required Description
email string Yes The sender's email address

Success Response (200):

{
  "success": true,
  "email": "john@company.com",
  "policy": {
    "id": 1,
    "name": "Default Policy",
    "match_type": "domain",
    "match_value": "company.com",
    "priority": 100
  },
  "html": "<table style=\"font-family:Arial...\">...</table>"
}

Error Response (404):

{
  "success": false,
  "message": "No signature policy or template found"
}

All Endpoints

Method Endpoint Description
GET /api/signature Get rendered signature HTML for a sender
GET /api/track/open Track email open (pixel)
GET /api/track/click Track link click
GET /api/banner/click Track banner click
POST /api/email-log Log a processed email event

Rate Limits

  • No rate limits for internal signature engine requests
  • Signature responses are cached for 5 minutes per email address
  • Cache is invalidated automatically when a template or policy is updated

Error Codes

Code Meaning
200 Signature found and returned successfully
404 No active policy or template found for this email address
422 Invalid or missing email address parameter
500 Internal server error — contact support