---
title: "Referee cancellations"
method: POST
path: "/api/merchant/v2/referee/cancellation"
tags: ["Referee"]
---

# Referee cancellations

`POST /api/merchant/v2/referee/cancellation`

Mark all customers matching the given identifiers as cancelled. i.e. they've cancelled their order or have failed to fulfil all necessary steps in order to be given a reward.

Only customers who could be eligible for a reward will be marked as cancelled. Any other customers included
(e.g. customers who might order in the future) will be ignored and discarded.

We strongly suggest you pass us _all_ customers who cancelled - as you may not know who was introduced by a friend. We will discard any customers details who do not need cancellation.

Cancellation is completed on a queue. It may take some time for the customers to be marked as cancelled. Approximate time to mark someone as cancelled is normally under < 5 minutes, but can be several hours in some cases.

Customers who we were able to queue will be returned in the `accepted` array. Customers who we do not hold a record of or cannot find will be returned in the `errors` array.

You may send 100 customers per request.

**Scopes:** `customers:write`

**Rate limits:** 300 requests per 5 minutes. Shared across all 'referee' endpoints.

## Request body

- CustomerEmailIdentifierCollectionInput — A collection of customer email addresses.
  - `identifiers` CustomerEmailIdentifier[], required — Maximum of 100 identifiers.
    - `type` 'email', required — The type of identifier.
    - `value` string

## Response `202`

All identifiers that were queued to be marked as cancelled.

- BulkCustomerResponse — A collection of customer identifiers which were accepted, or resulted in an error.
  - `accepted` CustomerIdentifierInterface2[] — All the identifiers that were accepted.
    - union
      - CustomerEmailIdentifier2
        - `type` 'email', required — The type of identifier.
        - `value` string
      - CustomerIdIdentifier2
        - `type` 'customerId', required — The type of identifier.
        - `value` string, required
  - `errors` CustomerErrorPayloadInterface2[] — All the identifiers which resulted in errors.
    - `type` 'email' | 'customerId'
    - `value` string
    - `reason` 'notFound'

## Other responses

- `401` — Required scopes are missing.
- `404` — No customers matched the identifiers.
- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/mention-me/apis/auth-api.md) · [All operations](https://skmtc.net/mention-me/apis/auth-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mention-me/auth-api/versions/cdad84f071bd/schema)
