---
title: "Change its label, notes, tags or persona | Proxy Mail QA"
description: "Developer docs for Proxy Mail QA: the MCP server for coding agents, the REST API for test suites, and the Chrome extension."
url: https://proxymail.qa/docs/reference/operations/updateaddress
---

# Change its label, notes, tags or persona

PATCH

/v1/addresses/{address}

```js
const url = 'https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev';
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"label":"example","notes":"example","tags":["example"],"first_name":"example","last_name":"example","username":"example","date_of_birth":"2026-04-15","country":"example"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request PATCH \
  --url https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{ "label": "example", "notes": "example", "tags": [ "example" ], "first_name": "example", "last_name": "example", "username": "example", "date_of_birth": "2026-04-15", "country": "example" }'
```

Send only the fields to change; null or an empty string clears one. Use it when the app under test changed the first name, last name or username, so the saved persona still matches. To change the password, use PUT /v1/addresses/{address}/password.

## Authorizations

- **[apiKey](https://proxymail.qa/docs/reference.html#apikey)**

## Parameters

### Path Parameters

**address**

required

string format: email

The test address, URL-encoded. A variant also works: capitals, or a +tag (k7f2x9ab12cd+o’[brien@mailclub.dev](mailto:brien@mailclub.dev)). It acts on the plain address; waiting on a +tag variant, or listing its messages, only finds mail sent to that variant.

#### Example 

```plaintext
k7f2x9ab12cd@mailclub.dev
```

## Request Body

Media typeapplication/json

### object

**label**

string | null

**notes**

string | null

<= 2000 characters

**tags**

Array<string>

**first\_name**

string | null

<= 60 characters

**last\_name**

string | null

<= 60 characters

**username**

string | null

<= 40 characters

**date\_of\_birth**

YYYY-MM-DD; null clears it.

string | null format: date

**country**

ISO 3166-1 alpha-2 code such as GB; null clears it.

string | null

/^\[A-Za-z\]{2}$/

### Example generated

```json
{
  "label": "example",
  "notes": "example",
  "tags": [
    "example"
  ],
  "first_name": "example",
  "last_name": "example",
  "username": "example",
  "date_of_birth": "2026-04-15",
  "country": "example"
}
```

## Responses

### 200

The address

Media typeapplication/json

### object

**address**

string

**label**

string | null

**created\_at**

string format: date-time

**expires\_at**

string format: date-time

**persona**

### object

**first\_name**

string | null

**last\_name**

string | null

**username**

string | null

**date\_of\_birth**

Present only when the address has one.

string format: date

**country**

ISO 3166-1 alpha-2 code, such as GB. Present only when the address has one.

string

**notes**

string | null

**tags**

Array<string>

**has\_password**

boolean

**password**

Only in the response to creating it with password: true.

string

**site**

Where it is used: the host of the app under test. Present only when set.

string

**environment**

Which environment it is used in, such as staging. Present only when set.

string

**email\_count**

integer

**latest**

The newest code or link, like Match.

object | null

**checked\_out\_until**

Only while someone has it checked out of the pool.

string format: date-time

#### Example generated

```json
{
  "address": "example",
  "label": "example",
  "created_at": "2026-04-15T12:00:00Z",
  "expires_at": "2026-04-15T12:00:00Z",
  "persona": {
    "first_name": "example",
    "last_name": "example",
    "username": "example",
    "date_of_birth": "2026-04-15",
    "country": "example"
  },
  "notes": "example",
  "tags": [
    "example"
  ],
  "has_password": true,
  "password": "example",
  "site": "example",
  "environment": "example",
  "email_count": 1,
  "latest": "example",
  "checked_out_until": "2026-04-15T12:00:00Z"
}
```

### 400

An error

Media typeapplication/json

### object

**error**

string

**message**

string

#### Example generated

```json
{
  "error": "example",
  "message": "example"
}
```

### 404

An error

Media typeapplication/json

### object

**error**

string

**message**

string

#### Example generated

```json
{
  "error": "example",
  "message": "example"
}
```

[Previous Delete it with its mail. The name is never issued again.](https://proxymail.qa/docs/reference/operations/deleteaddress.html) [Next Wait for a verification or login code](https://proxymail.qa/docs/reference/operations/waitforcode.html)
