VerifymeDocs

Testing

Build and run end-to-end tests without spending a cent.

Use a test key (vm_test_…) everywhere outside production. Test mode never bills, and gives you three ways to get the code:

ApproachSetupResult
provider: "test:header"noneNothing is sent; the message comes back in the X-Verify-Response header
Test targetsadd a number/email + fixed code in Console → Testing & limitsThat target always uses its code; nothing is sent
Any providera test profileDelivered for real; the message is also shown in Console → Verifications

CI example

Register +15550000001 with code 000000 as a test target, then:

const { token } = await verifyme.send({ target: "+15550000001" })
const { success } = await verifyme.check({ token, code: "000000" })
expect(success).toBe(true)

For the widget, the same target works in the frame — type 000000. Local origins (http://localhost:*) are allowed for test-mode widget sessions without adding them to the allowlist.

Live mode ignores test targets and never stores message text. Switching to production is just swapping the key.

On this page