> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/preparing-test-devices.md).

# Preparing Test Devices

Register the devices of your team members as test devices so that they receive test messages from the panel.

This recipe shows how to register the devices of selected users as test devices from your backend. Test devices receive the test messages that you send from the Netmera panel, so you can check a message before the real send.

## When to Use

This recipe fits QA and release checks, where the people who review messages need their devices on the test list without adding them one by one in the panel.

## Prerequisites

* REST API key of the application
* The reviewers registered as users in Netmera, with an external ID (`extId`) or an email address. See [Registering Users and Building a Profile](/netmera-developer-guide/api-documentation/recipes/registering-users-and-profiles.md).

## Step 1: Add the Test Devices

Send one entry per user to `addTesters`. Identify each user by `extId`. All devices of that user are added. If an entry has only an `email`, the user is looked up by that address.

```bash
curl https://restapi.netmera.com/rest/3.0/addTesters \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'X-netmera-api-key: <API_KEY>' \
  --data '[
  {
    "extId": "user_1001",
    "email": "john.brown@example.com"
  }
]'
```

{% hint style="info" %}
Each entry must contain `extId` or `email`. Entries that match no existing user are ignored.
{% endhint %}

**Expected result:** The devices of the matching users are registered as test devices.

## Step 2: Check the Devices of the User

Read the devices of the user with `getDevices` to see which devices belong to the tester. See [Reading Devices and Device Tokens](/netmera-developer-guide/api-documentation/recipes/reading-devices-and-tokens.md) for the details of this endpoint.

```bash
curl 'https://restapi.netmera.com/rest/3.0/getDevices?extId=user_1001' \
  --header 'X-netmera-api-key: <API_KEY>'
```

**Expected result:** The devices of the tester are listed.

## Step 3: Send a Test Message

Test messages are sent from the Netmera panel to the registered test devices.

## Verification Checklist

* Every entry has an `extId` or an `email`
* The users exist in Netmera, because entries without a matching user are ignored
* The reviewers see the test messages on their devices

## Related Pages

For the full format of the endpoint, see the Test Devices section of the [User & Device Management](/netmera-developer-guide/api-documentation/rest-api/user-and-device-management.md) page in the REST API documentation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/preparing-test-devices.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
