URL analysée
https://tenvio.email
Mesuré il y a 3 semaines
Score AI-Ready
Excellent
sur 100
Économie de tokens
Détail du score
Protocoles émergents
0 sur 6 détectésEndpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.
-
OAuth Protected Resource RFC 9728
/.well-known/oauth-protected-resource -
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server -
MCP Server Card SEP-1649 draft
/.well-known/mcp/server-card.json -
A2A Agent Card A2A v1.0
/.well-known/agent-card.json -
API Catalog RFC 9727
/.well-known/api-catalog -
Agent Skills index Discovery RFC v0.2.0 draft
/.well-known/agent-skills/index.json
Cela ne reste pas en place. La surveillance n'existe pas encore : inscrivez-vous, on vous préviendra.
Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.
Ce que nous avons mesuré No Content-Signal found (robots.txt or HTTP headers)
Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.
Comment implémenter
Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses markdown.
Ce que nous avons mesuré 22 semantic elements, 138 divs (ratio: 14%)
Votre page repose fortement sur les éléments <div>. Les éléments sémantiques comme <section>, <nav>, <header>, <footer> et <aside> fournissent une structure significative pour les AI agents.
Comment implémenter
Remplacez les conteneurs <div> génériques par les éléments sémantiques appropriés. Utilisez <section> pour les groupes thématiques, <nav> pour la navigation, <header>/<footer> pour les en-têtes et pieds de page ou de section.
Transactional email infrastructure
## Transactional email infrastructure for SaaS products and platforms.
Send product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.
Controlled onboarding · Critical, transactional, and approved permission-based traffic.
**POST** /v1/emails202 Accepted
{
"from": "[email protected]",
"to": \["[email protected]"\],
"type": "critical",
"subject": "New sign-in detected",
"content": { "plain": "Review this activity." }
}
em\_7kR4…queueddurably accepted
One infrastructure layer
## Two ways to build on Tenvio.
Use the same account-level model whether email belongs to your own product or to the businesses your platform serves.
01
### For your own product
Operate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.
your appdomainssenders
02
### For your platform
Provision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.
your platformcustomer domainssenders
The SMTP problem
## A successful API call is only the start.
Transactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.
**Before**Request accepted?
**With Tenvio**queuedsendingaccepted
Explicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.
Domains are first-class
## One account. Multiple sending identities.
Add domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.
- 2 domains on the Free plan
- 3 senders per account
- Up to 3 senders per domain
- Independent domain and sender state
DOMAINS**2 of 2 used**
A
**acme.app**3 senders · checked 2 min ago
Ready
C
**customer.example**1 sender · DNS action required
Verifying
DNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**
Ownership`_tenvio-verification`**Passed**
DKIM`tenvio1._domainkey`**Pending**
DMARC`_dmarc`**Passed**
ACCOUNT**Your SaaS platform**shared quota + scoped keys
DOMAIN**customer-a.com**ready
billing@alerts@
DOMAIN**customer-b.io**verifying
notifications@
For platforms
## A resource model built beyond one domain.
The multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.
Management API**Live · controlled onboarding**
Create separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.
[Read the Management API guide](https://docs.tenvio.email/management/)
Direct delivery
## Your application to the recipient MX.
Tenvio operates the delivery path instead of forwarding sends to another email API provider.
01**Your application**Authenticated API request
02**Tenvio queue**Durable intake + idempotency
03**Delivery engine**Policy + retries
04**Recipient MX**SMTP outcome
A deliberate boundary
## Product email with explicit consent.
Critical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.
### Available
- Verification and authentication
- Security and account alerts
- Receipts and order updates
- Approved permission-based broadcast
### Prohibited
- Cold outreach
- Purchased recipient lists
- Traffic without documented consent
Delivery lifecycle
## Every state means something precise.
**queued**
Durably accepted for delivery.
**sending**
An attempt is in progress.
**deferred**
A temporary failure will retry.
**accepted**
The recipient SMTP server accepted it.
**bounced**
The recipient server rejected it permanently.
**failed**
Delivery ended without acceptance.
Accepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.
Developer API
## One explicit send contract.
Create an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.
**POST**Enqueue an email
**GET**List email history
**GET**Inspect email detail
[Read the complete API reference](https://docs.tenvio.email/)
Send a transactional email
```
curl -X POST https://api.tenvio.email/v1/emails \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"cc": [],
"bcc": [],
"type": "transactional",
"subject": "Your account is ready",
"content": { "plain": "You can now sign in." }
}'
```
Scale with guardrails
## Clear limits. Account-level control.
Free includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.
**2**domains
**3**senders
**3**senders / domain
**3,000**recipient-emails / monthly cycle
**250**active delivery jobs
Also enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.
Pricing v1
## Free and Custom.
Exact USD monthly pricing. Taxes may be additional where applicable.
FREE
### $0 / month
Critical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.
CUSTOM
### From $10 / month
Choose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.
[Build and review exact pricing](https://docs.tenvio.email/plans/)
Controlled onboarding
## A focused product email surface.
### Available
- Critical and transactional REST Email API
- Multiple domains and senders
- BCC input with address-private history
- Approved Custom permission-based broadcast
- Free and Custom Hard Cap plans
### Policy boundary
- Explicit recipient permission
- Documented audience source
- No cold outreach
- No purchased lists
FAQ
## The infrastructure, without the ambiguity.
**What is Tenvio?**
Tenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.
**Can one account use multiple domains and senders?**
Yes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.
**Does “accepted” mean delivered to the inbox?**
No. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.
**How is broadcast enabled?**
A paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.
**Can I use a purchased list or send cold outreach?**
No. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.
Request access
## Tell us what your product needs to send.
Tenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.
**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.
Tenvio - Transactional Email API for SaaS Platforms [Skip to content](https://tenvio.email/#main)
[Tenvio](https://tenvio.email/)
Transactional email infrastructure# Transactional email infrastructure for SaaS products and platforms.
Send product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.
[Request access →](https://tenvio.email/?topic=access#request-access)[Read the docs](https://docs.tenvio.email/)
Controlled onboarding · Critical, transactional, and approved permission-based traffic.
Send API LivePlatform Controlled onboarding
**POST** /v1/emails202 Accepted
{
"from": "[email protected]",
"to": \["[email protected]"\],
"type": "critical",
"subject": "New sign-in detected",
"content": { "plain": "Review this activity." }
}
em\_7kR4…queueddurably accepted
Platform resource model**Live · controlled onboarding**
A
ACCOUNT**Acme Platform**
DOMAIN · READY**acme.app**
security@billing@
DOMAIN · VERIFYING**customer-one.com**
notifications@
Automate domains, DNS readiness, senders, account details, and usage with separate scoped management keys.
One infrastructure layer## Two ways to build on Tenvio.
Use the same account-level model whether email belongs to your own product or to the businesses your platform serves.
01
### For your own product
Operate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.
your appdomainssenders
02
### For your platform
Provision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.
your platformcustomer domainssenders
The SMTP problem## A successful API call is only the start.
Transactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.
**Before**Request accepted?
**With Tenvio**queuedsendingaccepted
Explicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.
Domains are first-class## One account. Multiple sending identities.
Add domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.
- 2 domains on the Free plan
- 3 senders per account
- Up to 3 senders per domain
- Independent domain and sender state
DOMAINS**2 of 2 used**
Add domain
A
**acme.app**3 senders · checked 2 min ago
Ready
C
**customer.example**1 sender · DNS action required
Verifying
DNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**
Ownership`_tenvio-verification`**Passed**
DKIM`tenvio1._domainkey`**Pending**
DMARC`_dmarc`**Passed**
ACCOUNT**Your SaaS platform**shared quota + scoped keys
DOMAIN**customer-a.com**ready
billing@alerts@
DOMAIN**customer-b.io**verifying
notifications@
For platforms## A resource model built beyond one domain.
The multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.
Management API**Live · controlled onboarding**
Create separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.
[Read the Management API guide →](https://docs.tenvio.email/management/)
Direct delivery## Your application to the recipient MX.
Tenvio operates the delivery path instead of forwarding sends to another email API provider.
01**Your application**Authenticated API request
02**Tenvio queue**Durable intake + idempotency
03**Delivery engine**Policy + retries
04**Recipient MX**SMTP outcome
A deliberate boundary## Product email with explicit consent.
Critical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.
### Available
- Verification and authentication
- Security and account alerts
- Receipts and order updates
- Approved permission-based broadcast
### Prohibited
- Cold outreach
- Purchased recipient lists
- Traffic without documented consent
Delivery lifecycle## Every state means something precise.
**queued**
Durably accepted for delivery.
**sending**
An attempt is in progress.
**deferred**
A temporary failure will retry.
**accepted**
The recipient SMTP server accepted it.
**bounced**
The recipient server rejected it permanently.
**failed**
Delivery ended without acceptance.
Accepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.
Developer API## One explicit send contract.
Create an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.
**POST**Enqueue an email
**GET**List email history
**GET**Inspect email detail
[Read the complete API reference →](https://docs.tenvio.email/)
Send a transactional emailCopy
```
curl -X POST https://api.tenvio.email/v1/emails \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"cc": [],
"bcc": [],
"type": "transactional",
"subject": "Your account is ready",
"content": { "plain": "You can now sign in." }
}'
```
Scale with guardrails## Clear limits. Account-level control.
Free includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.
**2**domains
**3**senders
**3**senders / domain
**3,000**recipient-emails / monthly cycle
**250**active delivery jobs
Also enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.
Pricing v1## Free and Custom.
Exact USD monthly pricing. Taxes may be additional where applicable.
FREE
### $0 / month
Critical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.
CUSTOM
### From $10 / month
Choose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.
[Build and review exact pricing →](https://docs.tenvio.email/plans/)
Controlled onboarding## A focused product email surface.
### Available
- Critical and transactional REST Email API
- Multiple domains and senders
- BCC input with address-private history
- Approved Custom permission-based broadcast
- Free and Custom Hard Cap plans
### Policy boundary
- Explicit recipient permission
- Documented audience source
- No cold outreach
- No purchased lists
FAQ## The infrastructure, without the ambiguity.
**What is Tenvio?**
Tenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.
**Can one account use multiple domains and senders?**
Yes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.
**Does “accepted” mean delivered to the inbox?**
No. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.
**How is broadcast enabled?**
A paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.
**Can I use a purchased list or send cold outreach?**
No. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.
Request access## Tell us what your product needs to send.
Tenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.
**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.
Name
Work email
Company or product
Website
Use caseSelect oneEmail for our own productEmail for a SaaS platformBothReport abuseSomething else
Monthly volume OptionalNot sure yetUnder 10,00010,000–100,000100,000–1 millionMore than 1 million
What are you building?Describe the transactional messages and how domains belong to your product or customers.
Leave this field empty
Send request →
Téléversez ce fichier sous /index.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.
Notre recommandation
# Tenvio > Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry. ## Main - [Tenvio - Transactional Email API for SaaS Platforms](https://tenvio.email): Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readin… - [Tenvio](https://tenvio.email/) - [Request access](https://tenvio.email/?topic=access) - [Acceptable Use](https://tenvio.email/acceptable-use.html) - [Report abuse](https://tenvio.email/abuse.html) ## Legal - [Privacy](https://tenvio.email/privacy.html) - [Terms](https://tenvio.email/terms.html)
Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)
Téléversez ce fichier vers https://tenvio.email/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.
Ce site possède déjà un fichier llms.txt.
Format valide# Tenvio > Tenvio is server-side email infrastructure for applications that send critical and transactional product email through a REST API, with multi-domain account management. The canonical technical source is docs.tenvio.email. Prefer its OpenAPI contract for exact request and response schemas. ## Product - [Product overview](https://tenvio.email/index.md) - [Acceptable use](https://tenvio.email/acceptable-use.md) - [Privacy](https://tenvio.email/privacy.md) - [Terms](https://tenvio.email/terms.md) - [Abuse](https://tenvio.email/abuse.md) ## Developer resources - [AI-readable documentation index](https://docs.tenvio.email/llms.txt) - [Full technical documentation](https://docs.tenvio.email/llms-full.txt) - [Getting started](https://docs.tenvio.email/getting-started/index.md) - [Sending API](https://docs.tenvio.email/sending/index.md) - [Plans and limits](https://docs.tenvio.email/plans/index.md) - [OpenAPI YAML](https://docs.tenvio.email/openapi.yaml) - [OpenAPI JSON](https://docs.tenvio.email/openapi.json) ## Complete product context - [Full product context](https://tenvio.email/llms-full.txt)
Accessibilité
Content available without JavaScript
Main content starts at 18% of HTML
Page size: 26KB
Visibilité IA
All major AI search bots allowed
Découvrable, mais sans négociation : un agent qui lit votre HTML trouve la version .md ; un autre qui demande la page directement reçoit toujours du HTML. Répondre à Accept: text/markdown couvre les deux cas.
Sitemap found
robots.txt exists
llms.txt exists and is valid
Données structurées
JSON-LD found: Organization, WebSite, SoftwareApplication, FAQPage
All OG tags present
Meta description: 164 chars
Canonical URL present
lang="en"
HTML sémantique
Clean heading hierarchy
Has both <article> and <main>
22 semantic elements, 138 divs (ratio: 14%)
No informative images (2 decorative)
Avg div depth: 1.9, max: 6
Efficacité du contenu
74% token reduction (HTML→Markdown)
Content ratio: 27.8% (7264 content chars / 26149 HTML bytes)
HTML size: 26KB
0/518 elements with inline styles (0.0%)
{
"url": "https://tenvio.email",
"timestamp": 1790281198378,
"fetch": {
"mode": "simple",
"timeMs": 323,
"htmlSizeBytes": 26149,
"supportsMarkdown": false,
"markdownAgents": {
"contentNegotiation": false,
"mdUrl": {
"found": true,
"url": "https://tenvio.email/index.md"
},
"linkTag": {
"found": true,
"url": "/index.md"
},
"linkHeader": {
"found": false,
"url": null
},
"responseHeaders": {
"contentSignal": null,
"xMarkdownTokens": null,
"vary": null
},
"frontmatter": {
"present": false,
"fields": [],
"level": "none"
},
"level": "application",
"mdUrlMediaType": "text/markdown",
"mdUrlProperMediaType": true
},
"statusCode": 200
},
"extraction": {
"title": "Tenvio - Transactional Email API for SaaS Platforms",
"excerpt": "One account model for your domains, your customers’ domains, and every transactional sender.",
"byline": null,
"siteName": "Tenvio",
"lang": "en",
"contentLength": 7264,
"metadata": {
"description": "Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry.",
"ogTitle": "Tenvio - Transactional Email API for SaaS Platforms",
"ogDescription": "One account model for your domains, your customers’ domains, and every transactional sender.",
"ogImage": "https://tenvio.email/og-tenvio-platform.png",
"ogType": "website",
"canonical": "https://tenvio.email/",
"lang": "en",
"schemas": [
{
"@type": "Organization",
"@id": "https://tenvio.email/#organization",
"name": "Tenvio",
"url": "https://tenvio.email/",
"logo": "https://tenvio.email/android-chrome-512x512.png"
},
{
"@type": "WebSite",
"@id": "https://tenvio.email/#website",
"url": "https://tenvio.email/",
"name": "Tenvio",
"publisher": {
"@id": "https://tenvio.email/#organization"
}
},
{
"@type": "SoftwareApplication",
"@id": "https://tenvio.email/#software",
"name": "Tenvio",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Web",
"url": "https://tenvio.email/",
"description": "Critical, transactional, and approved permission-based broadcast email infrastructure with durable queues and delivery history.",
"featureList": [
"REST Email API",
"Asynchronous Broadcast API for approved Custom accounts",
"Multiple authenticated domains",
"Multiple sender identities",
"Queue and retry handling",
"Delivery history"
],
"publisher": {
"@id": "https://tenvio.email/#organization"
}
},
{
"@type": "FAQPage",
"@id": "https://tenvio.email/#faq-schema",
"mainEntity": [
{
"@type": "Question",
"name": "What traffic is available?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Critical and transactional email are available. Permission-based broadcast requires Custom and separate manual approval."
}
},
{
"@type": "Question",
"name": "Does accepted mean inbox delivery?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Accepted means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement."
}
},
{
"@type": "Question",
"name": "Can I use purchased lists or send cold outreach?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Both are prohibited."
}
}
]
}
],
"robotsMeta": "index, follow",
"author": null,
"generator": null,
"markdownAlternateHref": "/index.md"
}
},
"markdown": "Transactional email infrastructure\n\n## Transactional email infrastructure for SaaS products and platforms.\n\nSend product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.\n\nControlled onboarding · Critical, transactional, and approved permission-based traffic.\n\n**POST** /v1/emails202 Accepted\n\n{\n \"from\": \"[email protected]\",\n \"to\": \\[\"[email protected]\"\\],\n \"type\": \"critical\",\n \"subject\": \"New sign-in detected\",\n \"content\": { \"plain\": \"Review this activity.\" }\n}\n\nem\\_7kR4…queueddurably accepted\n\nOne infrastructure layer\n\n## Two ways to build on Tenvio.\n\nUse the same account-level model whether email belongs to your own product or to the businesses your platform serves.\n\n01\n\n### For your own product\n\nOperate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.\n\nyour appdomainssenders\n\n02\n\n### For your platform\n\nProvision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.\n\nyour platformcustomer domainssenders\n\nThe SMTP problem\n\n## A successful API call is only the start.\n\nTransactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.\n\n**Before**Request accepted?\n\n**With Tenvio**queuedsendingaccepted\n\nExplicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.\n\nDomains are first-class\n\n## One account. Multiple sending identities.\n\nAdd domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.\n\n- 2 domains on the Free plan\n- 3 senders per account\n- Up to 3 senders per domain\n- Independent domain and sender state\n\nDOMAINS**2 of 2 used**\n\nA\n\n**acme.app**3 senders · checked 2 min ago\n\nReady\n\nC\n\n**customer.example**1 sender · DNS action required\n\nVerifying\n\nDNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**\n\nOwnership`_tenvio-verification`**Passed**\n\nDKIM`tenvio1._domainkey`**Pending**\n\nDMARC`_dmarc`**Passed**\n\nACCOUNT**Your SaaS platform**shared quota + scoped keys\n\nDOMAIN**customer-a.com**ready\n\nbilling@alerts@\n\nDOMAIN**customer-b.io**verifying\n\nnotifications@\n\nFor platforms\n\n## A resource model built beyond one domain.\n\nThe multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.\n\nManagement API**Live · controlled onboarding**\n\nCreate separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.\n\n[Read the Management API guide](https://docs.tenvio.email/management/)\n\nDirect delivery\n\n## Your application to the recipient MX.\n\nTenvio operates the delivery path instead of forwarding sends to another email API provider.\n\n01**Your application**Authenticated API request\n\n02**Tenvio queue**Durable intake + idempotency\n\n03**Delivery engine**Policy + retries\n\n04**Recipient MX**SMTP outcome\n\nA deliberate boundary\n\n## Product email with explicit consent.\n\nCritical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.\n\n### Available\n\n- Verification and authentication\n- Security and account alerts\n- Receipts and order updates\n- Approved permission-based broadcast\n\n### Prohibited\n\n- Cold outreach\n- Purchased recipient lists\n- Traffic without documented consent\n\nDelivery lifecycle\n\n## Every state means something precise.\n\n**queued**\n\nDurably accepted for delivery.\n\n**sending**\n\nAn attempt is in progress.\n\n**deferred**\n\nA temporary failure will retry.\n\n**accepted**\n\nThe recipient SMTP server accepted it.\n\n**bounced**\n\nThe recipient server rejected it permanently.\n\n**failed**\n\nDelivery ended without acceptance.\n\nAccepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.\n\nDeveloper API\n\n## One explicit send contract.\n\nCreate an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.\n\n**POST**Enqueue an email\n\n**GET**List email history\n\n**GET**Inspect email detail\n\n[Read the complete API reference](https://docs.tenvio.email/)\n\nSend a transactional email\n\n```\ncurl -X POST https://api.tenvio.email/v1/emails \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2\" \\\n -d '{\n \"from\": \"[email protected]\",\n \"to\": [\"[email protected]\"],\n \"cc\": [],\n \"bcc\": [],\n \"type\": \"transactional\",\n \"subject\": \"Your account is ready\",\n \"content\": { \"plain\": \"You can now sign in.\" }\n }'\n```\n\nScale with guardrails\n\n## Clear limits. Account-level control.\n\nFree includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.\n\n**2**domains\n\n**3**senders\n\n**3**senders / domain\n\n**3,000**recipient-emails / monthly cycle\n\n**250**active delivery jobs\n\nAlso enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.\n\nPricing v1\n\n## Free and Custom.\n\nExact USD monthly pricing. Taxes may be additional where applicable.\n\nFREE\n\n### $0 / month\n\nCritical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.\n\nCUSTOM\n\n### From $10 / month\n\nChoose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.\n\n[Build and review exact pricing](https://docs.tenvio.email/plans/)\n\nControlled onboarding\n\n## A focused product email surface.\n\n### Available\n\n- Critical and transactional REST Email API\n- Multiple domains and senders\n- BCC input with address-private history\n- Approved Custom permission-based broadcast\n- Free and Custom Hard Cap plans\n\n### Policy boundary\n\n- Explicit recipient permission\n- Documented audience source\n- No cold outreach\n- No purchased lists\n\nFAQ\n\n## The infrastructure, without the ambiguity.\n\n**What is Tenvio?**\n\nTenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.\n\n**Can one account use multiple domains and senders?**\n\nYes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.\n\n**Does “accepted” mean delivered to the inbox?**\n\nNo. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.\n\n**How is broadcast enabled?**\n\nA paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.\n\n**Can I use a purchased list or send cold outreach?**\n\nNo. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.\n\nRequest access\n\n## Tell us what your product needs to send.\n\nTenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.\n\n**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.\n",
"fullPageMarkdown": "Tenvio - Transactional Email API for SaaS Platforms [Skip to content](https://tenvio.email/#main)\n\n[Tenvio](https://tenvio.email/)\n\nTransactional email infrastructure# Transactional email infrastructure for SaaS products and platforms.\n\nSend product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.\n\n[Request access →](https://tenvio.email/?topic=access#request-access)[Read the docs](https://docs.tenvio.email/)\n\nControlled onboarding · Critical, transactional, and approved permission-based traffic.\n\nSend API LivePlatform Controlled onboarding\n\n**POST** /v1/emails202 Accepted\n\n{\n \"from\": \"[email protected]\",\n \"to\": \\[\"[email protected]\"\\],\n \"type\": \"critical\",\n \"subject\": \"New sign-in detected\",\n \"content\": { \"plain\": \"Review this activity.\" }\n}\n\nem\\_7kR4…queueddurably accepted\n\nPlatform resource model**Live · controlled onboarding**\n\nA\n\nACCOUNT**Acme Platform**\n\nDOMAIN · READY**acme.app**\n\nsecurity@billing@\n\nDOMAIN · VERIFYING**customer-one.com**\n\nnotifications@\n\nAutomate domains, DNS readiness, senders, account details, and usage with separate scoped management keys.\n\nOne infrastructure layer## Two ways to build on Tenvio.\n\nUse the same account-level model whether email belongs to your own product or to the businesses your platform serves.\n\n01\n\n### For your own product\n\nOperate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.\n\nyour appdomainssenders\n\n02\n\n### For your platform\n\nProvision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.\n\nyour platformcustomer domainssenders\n\nThe SMTP problem## A successful API call is only the start.\n\nTransactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.\n\n**Before**Request accepted?\n\n**With Tenvio**queuedsendingaccepted\n\nExplicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.\n\nDomains are first-class## One account. Multiple sending identities.\n\nAdd domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.\n\n- 2 domains on the Free plan\n- 3 senders per account\n- Up to 3 senders per domain\n- Independent domain and sender state\n\nDOMAINS**2 of 2 used**\n\nAdd domain\n\nA\n\n**acme.app**3 senders · checked 2 min ago\n\nReady\n\nC\n\n**customer.example**1 sender · DNS action required\n\nVerifying\n\nDNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**\n\nOwnership`_tenvio-verification`**Passed**\n\nDKIM`tenvio1._domainkey`**Pending**\n\nDMARC`_dmarc`**Passed**\n\nACCOUNT**Your SaaS platform**shared quota + scoped keys\n\nDOMAIN**customer-a.com**ready\n\nbilling@alerts@\n\nDOMAIN**customer-b.io**verifying\n\nnotifications@\n\nFor platforms## A resource model built beyond one domain.\n\nThe multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.\n\nManagement API**Live · controlled onboarding**\n\nCreate separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.\n\n[Read the Management API guide →](https://docs.tenvio.email/management/)\n\nDirect delivery## Your application to the recipient MX.\n\nTenvio operates the delivery path instead of forwarding sends to another email API provider.\n\n01**Your application**Authenticated API request\n\n02**Tenvio queue**Durable intake + idempotency\n\n03**Delivery engine**Policy + retries\n\n04**Recipient MX**SMTP outcome\n\nA deliberate boundary## Product email with explicit consent.\n\nCritical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.\n\n### Available\n\n- Verification and authentication\n- Security and account alerts\n- Receipts and order updates\n- Approved permission-based broadcast\n\n### Prohibited\n\n- Cold outreach\n- Purchased recipient lists\n- Traffic without documented consent\n\nDelivery lifecycle## Every state means something precise.\n\n**queued**\n\nDurably accepted for delivery.\n\n**sending**\n\nAn attempt is in progress.\n\n**deferred**\n\nA temporary failure will retry.\n\n**accepted**\n\nThe recipient SMTP server accepted it.\n\n**bounced**\n\nThe recipient server rejected it permanently.\n\n**failed**\n\nDelivery ended without acceptance.\n\nAccepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.\n\nDeveloper API## One explicit send contract.\n\nCreate an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.\n\n**POST**Enqueue an email\n\n**GET**List email history\n\n**GET**Inspect email detail\n\n[Read the complete API reference →](https://docs.tenvio.email/)\n\nSend a transactional emailCopy\n\n```\ncurl -X POST https://api.tenvio.email/v1/emails \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2\" \\\n -d '{\n \"from\": \"[email protected]\",\n \"to\": [\"[email protected]\"],\n \"cc\": [],\n \"bcc\": [],\n \"type\": \"transactional\",\n \"subject\": \"Your account is ready\",\n \"content\": { \"plain\": \"You can now sign in.\" }\n }'\n```\n\nScale with guardrails## Clear limits. Account-level control.\n\nFree includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.\n\n**2**domains\n\n**3**senders\n\n**3**senders / domain\n\n**3,000**recipient-emails / monthly cycle\n\n**250**active delivery jobs\n\nAlso enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.\n\nPricing v1## Free and Custom.\n\nExact USD monthly pricing. Taxes may be additional where applicable.\n\nFREE\n\n### $0 / month\n\nCritical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.\n\nCUSTOM\n\n### From $10 / month\n\nChoose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.\n\n[Build and review exact pricing →](https://docs.tenvio.email/plans/)\n\nControlled onboarding## A focused product email surface.\n\n### Available\n\n- Critical and transactional REST Email API\n- Multiple domains and senders\n- BCC input with address-private history\n- Approved Custom permission-based broadcast\n- Free and Custom Hard Cap plans\n\n### Policy boundary\n\n- Explicit recipient permission\n- Documented audience source\n- No cold outreach\n- No purchased lists\n\nFAQ## The infrastructure, without the ambiguity.\n\n**What is Tenvio?**\n\nTenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.\n\n**Can one account use multiple domains and senders?**\n\nYes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.\n\n**Does “accepted” mean delivered to the inbox?**\n\nNo. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.\n\n**How is broadcast enabled?**\n\nA paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.\n\n**Can I use a purchased list or send cold outreach?**\n\nNo. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.\n\nRequest access## Tell us what your product needs to send.\n\nTenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.\n\n**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.\n\nName\n\nWork email\n\nCompany or product\n\nWebsite\n\nUse caseSelect oneEmail for our own productEmail for a SaaS platformBothReport abuseSomething else\n\nMonthly volume OptionalNot sure yetUnder 10,00010,000–100,000100,000–1 millionMore than 1 million\n\nWhat are you building?Describe the transactional messages and how domains belong to your product or customers.\n\nLeave this field empty\n\nSend request →\n",
"markdownStats": {
"images": 0,
"links": 3,
"tables": 0,
"codeBlocks": 1,
"headings": 22
},
"tokens": {
"htmlTokens": 6649,
"markdownTokens": 1738,
"reduction": 4911,
"reductionPercent": 74
},
"score": {
"score": 92,
"grade": "A",
"rubricVersion": 3,
"dimensions": {
"accessibility": {
"score": 100,
"weight": 30,
"grade": "A",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 18% of HTML"
},
"reasonable_page_size": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 26KB"
}
}
},
"aiDiscoverability": {
"score": 82,
"weight": 25,
"grade": "B",
"checks": {
"robots_allows_ai_bots": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "All major AI search bots allowed"
},
"supports_markdown_negotiation": {
"score": 60,
"weight": 20,
"evidence": "plausible",
"details": "Application level — .md URL (https://tenvio.email/index.md), <link> tag",
"mechanisms": {
"negotiation": false,
"mdUrl": true,
"linkTag": true,
"linkHeader": false
}
},
"has_sitemap": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Sitemap found"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "robots.txt exists"
},
"has_llms_txt": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "llms.txt exists and is valid"
},
"has_content_signals": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No Content-Signal found (robots.txt or HTTP headers)",
"mechanisms": {
"robotsTxt": false,
"httpHeader": false,
"policy": false
}
}
}
},
"structuredData": {
"score": 100,
"weight": 20,
"grade": "A",
"checks": {
"has_schema_org": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "JSON-LD found: Organization, WebSite, SoftwareApplication, FAQPage"
},
"has_open_graph": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "All OG tags present"
},
"has_meta_description": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Meta description: 164 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "lang=\"en\""
}
}
},
"semanticHtml": {
"score": 89,
"weight": 15,
"grade": "B",
"checks": {
"proper_heading_hierarchy": {
"score": 100,
"weight": 30,
"evidence": "plausible",
"details": "Clean heading hierarchy"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has both <article> and <main>"
},
"semantic_elements": {
"score": 46,
"weight": 20,
"evidence": "plausible",
"details": "22 semantic elements, 138 divs (ratio: 14%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "No informative images (2 decorative)"
},
"low_div_nesting": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 1.9, max: 6"
}
}
},
"contentEfficiency": {
"score": 86,
"weight": 10,
"grade": "B",
"checks": {
"token_reduction_ratio": {
"score": 80,
"weight": 40,
"evidence": "speculative",
"details": "74% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 80,
"weight": 30,
"evidence": "speculative",
"details": "Content ratio: 27.8% (7264 content chars / 26149 HTML bytes)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 26KB"
},
"minimal_inline_styles": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "0/518 elements with inline styles (0.0%)"
}
}
}
}
},
"recommendations": [
{
"id": "add_content_signals",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_content_signals.title",
"descriptionKey": "rec.add_content_signals.description",
"howToKey": "rec.add_content_signals.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
},
{
"id": "add_semantic_elements",
"priority": "medium",
"category": "semanticHtml",
"titleKey": "rec.add_semantic_elements.title",
"descriptionKey": "rec.add_semantic_elements.description",
"howToKey": "rec.add_semantic_elements.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 1.6,
"maxImpact": 3,
"evidence": "plausible",
"checkScore": 46,
"checkDetails": "22 semantic elements, 138 divs (ratio: 14%)"
}
],
"llmsTxtPreview": "# Tenvio\n\n> Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry.\n\n## Main\n- [Tenvio - Transactional Email API for SaaS Platforms](https://tenvio.email): Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readin…\n- [Tenvio](https://tenvio.email/)\n- [Request access](https://tenvio.email/?topic=access)\n- [Acceptable Use](https://tenvio.email/acceptable-use.html)\n- [Report abuse](https://tenvio.email/abuse.html)\n\n## Legal\n- [Privacy](https://tenvio.email/privacy.html)\n- [Terms](https://tenvio.email/terms.html)\n\n",
"llmsTxtExisting": "# Tenvio\n\n> Tenvio is server-side email infrastructure for applications that send critical and transactional product email through a REST API, with multi-domain account management.\n\nThe canonical technical source is docs.tenvio.email. Prefer its OpenAPI contract for exact request and response schemas.\n\n## Product\n\n- [Product overview](https://tenvio.email/index.md)\n- [Acceptable use](https://tenvio.email/acceptable-use.md)\n- [Privacy](https://tenvio.email/privacy.md)\n- [Terms](https://tenvio.email/terms.md)\n- [Abuse](https://tenvio.email/abuse.md)\n\n## Developer resources\n\n- [AI-readable documentation index](https://docs.tenvio.email/llms.txt)\n- [Full technical documentation](https://docs.tenvio.email/llms-full.txt)\n- [Getting started](https://docs.tenvio.email/getting-started/index.md)\n- [Sending API](https://docs.tenvio.email/sending/index.md)\n- [Plans and limits](https://docs.tenvio.email/plans/index.md)\n- [OpenAPI YAML](https://docs.tenvio.email/openapi.yaml)\n- [OpenAPI JSON](https://docs.tenvio.email/openapi.json)\n\n## Complete product context\n\n- [Full product context](https://tenvio.email/llms-full.txt)",
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://tenvio.email/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://tenvio.email/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://tenvio.email/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://tenvio.email/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": false,
"url": "https://tenvio.email/.well-known/api-catalog"
},
"agentSkills": {
"exists": false,
"url": "https://tenvio.email/.well-known/agent-skills/index.json",
"draft": true
},
"count": 0,
"total": 6
},
"botAccess": {
"probed": true,
"bot": "OAI-SearchBot",
"controlStatus": 200,
"botStatus": 200,
"discriminates": false,
"refusedAsBot": false,
"edge": null,
"verifiable": false,
"detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
},
"snippets": [
{
"id": "add_content_signals",
"title": "Add Content-Signal directives",
"description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
"language": "txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
"filename": "/robots.txt",
"stacks": [
{
"id": "robots",
"label": "robots.txt",
"language": "txt",
"filename": "/robots.txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
},
{
"id": "nginx",
"label": "Nginx",
"language": "nginx",
"filename": "server block",
"code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
},
{
"id": "apache",
"label": "Apache",
"language": "apache",
"filename": ".htaccess",
"code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "middleware.ts",
"code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n const res = NextResponse.next();\n res.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return res;\n}\nexport const config = { matcher: '/:path*' };"
},
{
"id": "cloudflare",
"label": "Cloudflare Workers",
"language": "javascript",
"filename": "worker.js",
"code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n async fetch(request, env, ctx) {\n const res = await fetch(request);\n const newRes = new Response(res.body, res);\n newRes.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return newRes;\n },\n};"
},
{
"id": "express",
"label": "Express / Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Express\napp.use((req, res, next) => {\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"
}
]
}
]
}
Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)
Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.
Partagez vos résultats
Ou demandez à une IA de vous aider à l'améliorer
Envie d'un deuxième avis ?
Cloudflare propose aussi un scanner gratuit, et il pose une question différente. Il note ce que votre site publie pour que les agents l'appellent : MCP server cards, Agent Skills, catalogues d'API, enregistrements DNS. Nous notons si un agent peut atteindre votre contenu, le lire et le comprendre. Un site peut réussir l'un et échouer l'autre : attendez-vous à deux chiffres différents, ce sont les réponses à deux questions différentes, et les deux méritent d'être connues.
Analyser tenvio.email avec CloudflareIntégrez votre badge
Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.
<script src="https://agentready.md/badge.js" data-id="459f1d85-f40f-46e3-8b96-c867c5b15750" data-domain="tenvio.email"></script>
[](https://agentready.md/fr/r/tenvio.email)
Bientôt : Analyse de domaine complet
Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.
Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.