---
title: "Check offers went to one person once | 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/checkoffers
---

# Check offers went to one person once

GET

/v1/addresses/{address}/offers

```js
const url = 'https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev/offers';
const options = {
  method: 'GET',
  headers: {
    'Proxy-Mail-QA-Test': 'sign-up%20%E2%80%BA%20sends%20one%20code',
    Authorization: 'Bearer <token>'
  }
};

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

```sh
curl --request GET \
  --url https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev/offers \
  --header 'Authorization: Bearer <token>' \
  --header 'Proxy-Mail-QA-Test: sign-up%20%E2%80%BA%20sends%20one%20code'
```

For each sender, its coupons at this address and which version of the address each went to: `plain`, `capitals` or a `+tag`. Mail to all of them reaches one inbox, so an offer that reached two or more versions was given to one person more than once: `reused` is true, `passed` false, and with a run, that fails it. Gmail’s dot trick can’t be tested here: on these domains a dot makes another address. In Labs: answers 403 until the key’s creator switches on Marketing and offer emails in Account settings → Labs.

## 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
```

### 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
```

## Responses

### 200

Each sender’s coupons

Media typeapplication/json

### object

**address**

string

**passed**

No sender gave a coupon to two or more versions of the address.

boolean

**offers**

Array<object>

### object

**sender**

string

**service**

string | null

**reused**

boolean

**variants**

Plain, capitals or +tag

Array<string>

**same\_code**

Every coupon had the same code.

boolean

**coupons**

Array<object>

### object

**variant**

string

**code**

string

**discount**

string | null

**valid\_until**

string | null format: date

**received\_at**

string format: date-time

**email\_id**

string format: uuid

#### Example generated

```json
{
  "address": "example",
  "passed": true,
  "offers": [
    {
      "sender": "example",
      "service": "example",
      "reused": true,
      "variants": [
        "example"
      ],
      "same_code": true,
      "coupons": [
        {
          "variant": "example",
          "code": "example",
          "discount": "example",
          "valid_until": "2026-04-15",
          "received_at": "2026-04-15T12:00:00Z",
          "email_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
        }
      ]
    }
  ]
}
```

### 404

An error

Media typeapplication/json

### object

**error**

string

**message**

string

#### Example generated

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

[Previous Record a coupon’s result at checkout](https://proxymail.qa/docs/reference/operations/recordcouponresult.html) [Next List the project’s runs, newest first](https://proxymail.qa/docs/reference/operations/listruns.html)

- [English ](https://proxymail.qa/docs/reference/operations/checkoffers)
- [DeutschStartseite](https://proxymail.qa/de)
- [EspañolPágina de inicio](https://proxymail.qa/es)
- [FrançaisPage d’accueil](https://proxymail.qa/fr)
- [日本語トップページ](https://proxymail.qa/jp)
- [简体中文首页](https://proxymail.qa/zh-cn)
