# Test mode (bm_test_)

`bm_test_…` keys let you build and test a full integration without sending real messages and without paying.

| | `bm_live_` | `bm_test_` |
| --- | --- | --- |
| Validation, phone normalisation, segment counting | ✓ | ✓ |
| Blacklist, verified sender, idempotency | ✓ | ✓ |
| Actual delivery to the recipient | ✓ | ✗ |
| Credits charged | ✓ | ✗ (`credits_reserved: 0`) |
| Status lifecycle and webhooks | ✓ | ✓ (simulated) |

- A test request goes through every step — including full validation against the sending platform — except delivery itself.
- Test messages are flagged in the portal and do not count toward the daily limit.
- In the portal, the API page shows examples with your test key already filled in.

Switch to `bm_live_` only after the integration works end to end.
