Skip to content

Synapse Inspect

Synapse Inspect is a message quality analysis pipeline. For email, it detects rendering issues, spam triggers, accessibility violations, and dark-mode problems through a multi-stage pipeline. It also inspects push, in-app, SMS, and WhatsApp templates — each with checks tuned to that channel — before you send a campaign, activate a flow, or (for WhatsApp) submit a template to Meta.

Note

For the full API reference, see Inspect API. This page covers the email pipeline in depth; for the other channels see SMS Quality Checks and WhatsApp Pre-Submission Inspect.


Channels

ChannelWhat Inspect checksGuide
EmailHTML/CSS/accessibility/size, spam, dark mode, subject & preheader, tracking — up to five stagesThis page
PushNLT rendering, per-platform length, APNs/FCM payload size, deep links
In-appPlacement key, NLT rendering, payload size, CTA limits
SMSSegments & encoding (cost), opt-out language, sender number, NLT renderingSMS Quality Checks
WhatsAppMeta placeholder rules, body limit, category, NLT rendering (pre-submission)WhatsApp Pre-Submission Inspect

What It Does

Inspect analyzes your email template HTML through up to five stages:

StageNameWhat It ChecksSpeed
1Static AnalysisHTML structure, CSS compatibility, accessibility, email size, dark-mode meta tags, spam keywords, subject/preheader, tracking UTMs< 1s
2External ResourcesBroken links, image format/size/dimensions, CDN performance< 10s
3Spam ScoringAggregate spam score via internal heuristics or external provider< 5s
4Vendor RenderMulti-client rendering screenshots (Gmail, Outlook, Apple Mail, etc.)< 60s
5Visual DiffCross-client deviation detection via perceptual hashing< 10s

Quick Check (Stages 1--3 only) is free and fast -- suitable for inline editor use on every save. A Full Inspect (all 5 stages) requires plan-tier credits and includes vendor rendering.

Note

Inspect analyzes the complete email, not just the content fragment. Synapse email templates are content-only — they store the body, not a full HTML document with a <!DOCTYPE>, <meta charset>, <title>, or dark-mode metas. Before the document-structure checks run, Inspect wraps a content-only fragment in a minimal complete document (using the subject and preheader you supply), so structural findings like missing DOCTYPE, charset, lang, and color-scheme metas reflect the email that will actually be delivered rather than the bare fragment. This applies to every template origin — the editor, the API, clones, and version restores alike. To have the subject and preheader checks evaluate correctly, pass subject and preheader on the Inspect run; see the Findings Catalog note on content-only templates. The shipped email itself also now carries color-scheme / supported-color-schemes metas so it renders correctly in dark mode.


When to Use It

  • Before sending a campaign -- Inspect is integrated into the campaign send flow. If critical findings exist, the send is blocked until you fix them or explicitly override (with audit trail).
  • Before activating a flow -- Every email step in a flow is checked for critical findings before the flow can go live.
  • During template editing -- Quick Check runs inline to catch issues early. Full Inspect can be triggered from the editor toolbar.
  • Via the API -- Programmatic access for CI/CD integration or custom workflows.

Quick Start

1. Trigger an inspect run

bash
curl -X POST https://synapse-api.pyrx.tech/v1/inspect \
-H "X-WORKSPACE-ID: <workspace-id>" \
-H "X-API-KEY: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"template_slug": "welcome-email",
"quick_check": true
}'

2. Check the results

bash
curl https://synapse-api.pyrx.tech/v1/inspect/<job-id>/findings \
-H "X-WORKSPACE-ID: <workspace-id>" \
-H "X-API-KEY: <api-key>"

3. Review and act on findings

Each finding includes:

  • Code -- A stable identifier (e.g., HTML_MISSING_DOCTYPE) that never changes
  • Severity -- critical (blocks send), warning (should fix), info (advisory)
  • Category -- html, css, images, links, spam, accessibility, rendering, dark_mode, subject, tracking
  • Fix text -- Actionable guidance on how to resolve the issue

Severity Levels

SeverityMeaningSend Impact
criticalBroken rendering or deliverability riskBlocks send unless overridden
warningShould be fixed but won't break anythingDoes not block
infoAdvisory -- best practice recommendationDoes not block

Pre-Send Blocking

When block_send_on_critical is enabled (the default), Synapse checks inspect results before every campaign send and flow activation:

  1. No recent inspect (within 7 days for the current template version) -- send is blocked with block_no_inspect
  2. Open critical findings -- send is blocked with block_critical
  3. Override -- users with inspect:write permission can create a single-use override token with a required reason. The override is audit-logged.
  4. Advisory mode -- workspaces can disable blocking via the config endpoint, making all findings informational only.

Credits

Quick Check is always free. Full Inspect consumes 1 credit per unique template version. Cache hits (re-running the same template without changes) cost 0 credits.

PlanMonthly CreditsOverage
Free5Blocked on exhaustion
Starter25Blocked on exhaustion
Growth100Allowed (metered billing)
EnterpriseUnlimitedN/A

See Credits & Billing for details.


Auto-Fixers

Some findings include an auto-fix option. When available, Synapse can automatically transform your template HTML to resolve the issue. Currently supported for dark-mode meta tags, CSS color schemes, MSO overrides, and logo dark-mode swaps.

See Auto-Fixers for the full list of auto-fixable codes.


Findings Catalog

Synapse Inspect includes 110+ finding codes across 10 categories. Each code is a stable identifier that will never be reused or renumbered.

See Findings Catalog for the complete reference.


Further Reading