> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mention-me.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referee eligibility

> Mark all customers matching the given identifiers as eligible for a reward - i.e. they've completed all necessary steps in order to be given a reward. For instance, this could be keeping a product for a certain amount of time, completing their first month with a subscription or completing transferring provider for a utility.

Only customers who are eligible for a reward will be marked as eligible. Any other customers included (e.g. customers who were not referred by a friend or those who do not require approval) will be ignored and discarded.

Customers who require approval because they are suspected of gaming the program will not be marked as eligible. You can approve the customers in the Merchant Portal.

We strongly suggest you pass us _all_ customers who complete the eligibility criteria - as you may not know who was introduced by a friend. We will discard any customers details who are not eligible.

Eligibility is completed on a queue. It may take some time for the customers to be marked as eligible. Approximate time to mark someone as eligible 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.



## OpenAPI

````yaml /openapi/merchant_api.oas.json post /api/merchant/v2/referee/eligibility
openapi: 3.0.0
info:
  title: Merchant API
  description: Interact directly with the Mention Me platform using our REST API.
  termsOfService: https://mention-me.com/help/tnc_f/site
  contact:
    name: Mention Me
    url: https://mention-me.com
    email: support@mention-me.com
  version: v2
servers:
  - url: https://mention-me.com
    description: Production
  - url: https://demo.mention-me.com
    description: Demo
security:
  - Bearer: []
tags:
  - name: Coupons
  - name: Customers
  - name: Referee
paths:
  /api/merchant/v2/referee/eligibility:
    post:
      tags:
        - Referee
      summary: Referee eligibility
      description: >-
        Mark all customers matching the given identifiers as eligible for a
        reward - i.e. they've completed all necessary steps in order to be given
        a reward. For instance, this could be keeping a product for a certain
        amount of time, completing their first month with a subscription or
        completing transferring provider for a utility.


        Only customers who are eligible for a reward will be marked as eligible.
        Any other customers included (e.g. customers who were not referred by a
        friend or those who do not require approval) will be ignored and
        discarded.


        Customers who require approval because they are suspected of gaming the
        program will not be marked as eligible. You can approve the customers in
        the Merchant Portal.


        We strongly suggest you pass us _all_ customers who complete the
        eligibility criteria - as you may not know who was introduced by a
        friend. We will discard any customers details who are not eligible.


        Eligibility is completed on a queue. It may take some time for the
        customers to be marked as eligible. Approximate time to mark someone as
        eligible 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.
      operationId: post_merchant_api_referee_eligibility
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerEmailIdentifierCollectionInput'
      responses:
        '202':
          description: All identifiers that were queued to be marked as eligible.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkCustomerResponse'
        '401':
          description: Required scopes are missing.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorisedRFC7807Problem'
        '404':
          description: No customers matched the identifiers.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '429':
          description: Rate limit exceeded.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsRFC7807Problem'
components:
  schemas:
    CustomerEmailIdentifierCollectionInput:
      description: A collection of customer email addresses.
      required:
        - identifiers
      properties:
        identifiers:
          description: Maximum of 100 identifiers.
          type: array
          items:
            $ref: '#/components/schemas/CustomerEmailIdentifier'
          maxItems: 100
          minItems: 1
      type: object
    BulkCustomerResponse:
      description: >-
        A collection of customer identifiers which were accepted, or resulted in
        an error.
      properties:
        accepted:
          description: All the identifiers that were accepted.
          type: array
          items:
            $ref: '#/components/schemas/CustomerIdentifierInterface2'
          maxItems: 100
          minItems: 0
        errors:
          description: All the identifiers which resulted in errors.
          type: array
          items:
            $ref: '#/components/schemas/CustomerErrorPayloadInterface2'
          maxItems: 100
          minItems: 0
      type: object
    UnauthorisedRFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
          example: 401
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
          example: Unauthorized
        detail:
          type: string
          example: Missing at least one of the required scopes
      type: object
    RFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
        detail:
          type: string
      type: object
    TooManyRequestsRFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
          example: 401
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
          example: Too Many Requests
        detail:
          type: string
          example: Rate limit exceeded for Client Id
      type: object
    CustomerEmailIdentifier:
      required:
        - type
      properties:
        type:
          description: The type of identifier.
          type: string
          enum:
            - email
        value:
          type: string
          default: ''
          maxLength: 320
          minLength: 1
          pattern: .+\@\S+\.\S+
      type: object
    CustomerIdentifierInterface2:
      discriminator:
        propertyName: type
        mapping:
          email:
            $ref: '#/components/schemas/CustomerEmailIdentifier2'
          customerId:
            $ref: '#/components/schemas/CustomerIdIdentifier2'
      oneOf:
        - $ref: '#/components/schemas/CustomerEmailIdentifier2'
        - $ref: '#/components/schemas/CustomerIdIdentifier2'
    CustomerErrorPayloadInterface2:
      discriminator:
        propertyName: reason
        mapping:
          notFound:
            $ref: '#/components/schemas/MissingCustomerErrorPayload2'
      oneOf:
        - $ref: '#/components/schemas/MissingCustomerErrorPayload2'
    CustomerEmailIdentifier2:
      required:
        - type
      properties:
        type:
          description: The type of identifier.
          type: string
          enum:
            - email
        value:
          type: string
          default: ''
          maxLength: 320
          minLength: 1
          pattern: .+\@\S+\.\S+
      type: object
    CustomerIdIdentifier2:
      required:
        - type
        - value
      properties:
        type:
          description: The type of identifier.
          type: string
          enum:
            - customerId
        value:
          type: string
      type: object
    MissingCustomerErrorPayload2:
      properties:
        type:
          $ref: '#/components/schemas/CustomerIdentifierType'
        value:
          type: string
        reason:
          $ref: '#/components/schemas/CustomerIdentifierErrorReason'
      type: object
    CustomerIdentifierType:
      type: string
      enum:
        - email
        - customerId
    CustomerIdentifierErrorReason:
      type: string
      enum:
        - notFound
  securitySchemes:
    Bearer:
      type: http
      description: RFC8725 Compliant JWT
      bearerFormat: JWT
      scheme: bearer

````