---
title: "Get a personal test key"
method: POST
path: "/test-keys"
tags: ["keys"]
---

# Get a personal test key

`POST /test-keys`

## Request

- Base URL: `https://api.mobilevalidate.com/v1`
- URL: `https://api.mobilevalidate.com/v1/test-keys`
- Auth: none required

Issues a personal test key (`mv_test_…`) for a work e-mail address, protected by a Cloudflare Turnstile token from the form at https://mobilevalidate.com/get-test-key. The key works in test mode with any number (never billed, never reaches a data source), including bulk jobs and test-mode webhooks. It is shown **once** and never returned again. Each address can receive at most 3 test keys in 30 days; after that the answer is 409 test_key_exists. At most 3 requests per network per day, whatever their result (IPv6 networks count per /64). The request also asks for live access, which we review by hand. No authentication.

## Request body

- object
  - `email` string, email, required: Work e-mail address (must receive mail).
  - `name` string
  - `company` string, required: Company name.
  - `country` string, required: ISO 3166-1 alpha-2 country of the company.
  - `accept_terms` true, required: The company accepts the Terms of Service, the Acceptable Use Policy and the Data Processing Agreement (https://mobilevalidate.com/legal/terms, /legal/acceptable-use, /legal/dpa) and is responsible for the lawful use of the service and its results. Recorded with the document versions.
  - `use_case` string
  - `turnstile_token` string, required: Token from the Turnstile widget on mobilevalidate.com.
  - `session_id` string: Optional. Set by the form on mobilevalidate.com to link the key to the page visit that led to it (first-party, per browser tab, no cookie; not sent when the browser signals Do-Not-Track or Global Privacy Control). Unknown or malformed values are ignored.

## Response `201`

The key (shown only once).

- object
  - `key` string, required
  - `key_prefix` string, required: First characters of the key, for display.
  - `docs_url` string, uri, required
  - `request_id` string, required

## Other responses

- `409`: No more test keys can be issued for this e-mail address right now (at most 3 in 30 days). Keys already issued are never shown again.
- `default`: Error. Branch on `error.code`; `suggestion` (optional) says how to fix the request. A known path called with the wrong method answers `404 not_found` with an `Allow` header listing the methods it accepts.

---

[API](https://skmtc.dev/mobilevalidate/apis/mobilevalidate-api.md) · [All operations](https://skmtc.dev/mobilevalidate/apis/mobilevalidate-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mobilevalidate/apis/mobilevalidate-api/revisions/f2e56c2454ef?raw)
