---
title: "Get values for a sign-up form | 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/formvalues
---

# Get values for a sign-up form

POST

/v1/form-values

```js
const url = 'https://api.proxymail.qa/v1/form-values';
const options = {
  method: 'POST',
  headers: {
    'Proxy-Mail-QA-Test': 'sign-up%20%E2%80%BA%20sends%20one%20code',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"fields":[{"id":"example","type":"email","name":"example","label":"example","placeholder":"DD/MM/YYYY","autocomplete":"new-password","group":"Date of birth","pattern":"example","min_length":1,"max_length":1,"options":[{"value":"example","label":"example"}]}],"address":"example","label":"example","age":"example","date_of_birth":"2026-04-15","country":"example","domain":"example","lifetime_days":1}'
};

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

```sh
curl --request POST \
  --url https://api.proxymail.qa/v1/form-values \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Proxy-Mail-QA-Test: sign-up%20%E2%80%BA%20sends%20one%20code' \
  --data '{ "fields": [ { "id": "example", "type": "email", "name": "example", "label": "example", "placeholder": "DD/MM/YYYY", "autocomplete": "new-password", "group": "Date of birth", "pattern": "example", "min_length": 1, "max_length": 1, "options": [ { "value": "example", "label": "example" } ] } ], "address": "example", "label": "example", "age": "example", "date_of_birth": "2026-04-15", "country": "example", "domain": "example", "lifetime_days": 1 }'
```

What to type or pick in each field of a sign-up form, from a new test address made for it (201) or from one made earlier (`address`, 200). Send what the page says about each field: its type, name, label, placeholder, autocomplete, rules and a drop-down’s options. Each field gets a value: the email (and its confirmation), names, a username and a password that fit the field’s rules, the date of birth in the field’s format (or its day, month and year), and a country its drop-down offers; anything else (a terms checkbox, a phone number) gets null and a note. A new address gets a date of birth when the form asks for one (adult unless `age` says otherwise) and a country the form offers; its password is saved on it and shown only in this answer. Proxy Mail QA never sees or fills in the page: you do.

## Authorizations

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

## Parameters

### Header Parameters

**Proxy-Mail-QA-Run**

string format: uuid

A run’s id (POST /v1/runs): adds what this call saw to the run. If it can’t be added (the run finished, or isn’t in this project), the call still works and the Proxy-Mail-QA-Run-Warning response header says why.

**Proxy-Mail-QA-Test**

string

<= 600 characters

With Proxy-Mail-QA-Run: the test this call belongs to, percent-encoded (encodeURIComponent), up to 200 characters once decoded. The run’s report shows it beside what the call saw.

#### Example 

```plaintext
sign-up%20%E2%80%BA%20sends%20one%20code
```

## Request Bodyrequired

Media typeapplication/json

### object

**fields**

required

Array<object>

\>= 1 items <= 60 items

### object

**id**

Your name for the field: it comes back with its value. Default: its position.

string

**type**

The input type, or select for a drop-down.

string

### Example 

```plaintext
email
```

**name**

string

**label**

string

**placeholder**

string

### Example 

```plaintext
DD/MM/YYYY
```

**autocomplete**

string

### Example 

```plaintext
new-password
```

**group**

What the group around it says.

string

### Example 

```plaintext
Date of birth
```

**pattern**

string

**min\_length**

integer

**max\_length**

integer

**options**

Array<object>

<= 400 items

### object

**value**

required

string

**label**

string

**address**

Use this address instead of making one. Its saved password is not returned.

string

**label**

string

**age**

For a new address, when the form asks for a date of birth. Default: adult.

string

**date\_of\_birth**

string format: date

**country**

For a new address. Default: one the form offers.

string

**domain**

string

**lifetime\_days**

integer

## Responses

### 200

Values from the address given

Media typeapplication/json

### object

**address**

string

**created**

True when this call made the address.

boolean

**persona**

### object

**password**

A new address’s password, saved on it. Shown only here.

string

**values**

Array<object>

### object

**id**

string

**kind**

string

Allowed values: email confirm\_email first\_name last\_name full\_name username password confirm\_password date\_of\_birth birth\_day birth\_month birth\_year country other

**value**

What to type, or the option’s value to pick. Null to leave it to you.

string

nullable

**note**

string

#### Example 

```json
{
  "values": [
    {
      "kind": "email"
    }
  ]
}
```

### 201

Values from a new address made for this form

Media typeapplication/json

### object

**address**

string

**created**

True when this call made the address.

boolean

**persona**

### object

**password**

A new address’s password, saved on it. Shown only here.

string

**values**

Array<object>

### object

**id**

string

**kind**

string

Allowed values: email confirm\_email first\_name last\_name full\_name username password confirm\_password date\_of\_birth birth\_day birth\_month birth\_year country other

**value**

What to type, or the option’s value to pick. Null to leave it to you.

string

nullable

**note**

string

#### Example 

```json
{
  "values": [
    {
      "kind": "email"
    }
  ]
}
```

### 400

An error

Media typeapplication/json

### object

**error**

string

**message**

string

#### Example generated

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

[Previous Save a new test password](https://proxymail.qa/docs/reference/operations/setpassword.html) [Next Check out an account from the pool](https://proxymail.qa/docs/reference/operations/checkoutaccount.html)
