> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sendlyy.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox and Live

> Simulation is explicit and never proof of provider delivery.

Each project has Sandbox and Live environments. The key is bound to one environment, and sending APIs verify the environment ID against that binding.

| Product | Sandbox behavior |
| - | - |
| Dedicated messaging | Durably records `Simulated`; no Meta delivery or wallet debit. Requires granted sender, matching template variables and recorded recipient opt-in. Draft templates may be used. |
| Verify | Creates a pending five-minute challenge with fixed code `123456`; no shared sender, Meta call or wallet debit. Code checks, expiry, limits and single-use behavior still apply. |
| Notify | Records `Simulated`; requires a project draft/approved attributed template, verified organization identity and recorded contact opt-in. No Meta call or wallet debit. |
| Template submission | **Not simulated.** Dedicated and shared submission are external Meta operations and require explicit provider enablement. Creating a draft is local. |
| Webhooks | Subscriptions can be configured for either environment, but Sandbox sends do not invent delivered/read events. Inspect the send response and GET status. |

Contacts and template definitions are shared project configuration; they are not separate per environment. Do not use production personal data just because the sending environment is Sandbox. Test data and test consent evidence must be explicit.

Switch to Live by obtaining a separate Live key, not by changing a header or placing a Live environment ID behind a Sandbox key. Live use requires enabled providers, ready senders, approved templates, approved prices, consent and enough wallet balance. Shared products additionally require Meta eligibility approval.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.