> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ordergroove.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ordergroove.com/_mcp/server.

# Eligibility Evaluation

GET https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/

Identify the retention incentives currently available to a customer by analyzing their historical claim activity and completed orders in accordance with the active eligibility criteria defined by the relevant merchant.

Reference: https://docs.ordergroove.com/reference/rest-rpc-api/retention-incentives/eligibility-evaluation

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: ordergroove-restrpc
  version: 1.0.0
paths:
  /retention_incentives/eligibility_evaluation/:
    get:
      operationId: eligibility-evaluation
      summary: Eligibility Evaluation
      description: >-
        Identify the retention incentives currently available to a customer by
        analyzing their historical claim activity and completed orders in
        accordance with the active eligibility criteria defined by the relevant
        merchant.
      tags:
        - retentionIncentives
      parameters:
        - name: merchant_user_id
          in: query
          description: >-
            The external ID of the customer for whom to retrieve the eligibility
            evaluation. This field is required for Application API Scope
            authentication and is not supported for Storefront API Scope
            authentication.
          required: false
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Retention
                  Incentives_eligibility-evaluation_Response_200
servers:
  - url: https://restapi.ordergroove.com
    description: https://restapi.ordergroove.com
components:
  schemas:
    RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf0IncentiveTemplatesItems:
      type: object
      properties:
        name:
          type: string
        public_id:
          type: string
        type:
          type: string
        field:
          type: string
        discount_type:
          type: string
        value:
          type: string
        threshold_field:
          description: Any type
        threshold_value:
          description: Any type
        target:
          type: string
      title: >-
        RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf0IncentiveTemplatesItems
    RetentionIncentivesEligibilityEvaluationResponse2000:
      type: object
      properties:
        merchant_user_id:
          type: string
        eligible:
          type: boolean
          default: true
        incentive_templates:
          type: array
          items:
            $ref: >-
              #/components/schemas/RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf0IncentiveTemplatesItems
      title: RetentionIncentivesEligibilityEvaluationResponse2000
    RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf1IncentiveTemplatesItems:
      type: object
      properties: {}
      title: >-
        RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf1IncentiveTemplatesItems
    RetentionIncentivesEligibilityEvaluationResponse2001:
      type: object
      properties:
        merchant_user_id:
          type: string
        eligible:
          type: boolean
          default: true
        incentive_templates:
          type: array
          items:
            $ref: >-
              #/components/schemas/RetentionIncentivesEligibilityEvaluationGetResponsesContentApplicationJsonSchemaOneOf1IncentiveTemplatesItems
      title: RetentionIncentivesEligibilityEvaluationResponse2001
    Retention Incentives_eligibility-evaluation_Response_200:
      oneOf:
        - $ref: >-
            #/components/schemas/RetentionIncentivesEligibilityEvaluationResponse2000
        - $ref: >-
            #/components/schemas/RetentionIncentivesEligibilityEvaluationResponse2001
      title: Retention Incentives_eligibility-evaluation_Response_200
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

```

## Examples

### Eligible



**Response**

```json
{}
```

**SDK Code**

```python Eligible
import requests

url = "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Eligible
const url = 'https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

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

```go Eligible
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Eligible
require 'uri'
require 'net/http'

url = URI("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Eligible
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php Eligible
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Eligible
using RestSharp;

var client = new RestClient("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Eligible
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Not Eligible



**Response**

```json
{}
```

**SDK Code**

```python Not Eligible
import requests

url = "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Not Eligible
const url = 'https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

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

```go Not Eligible
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Not Eligible
require 'uri'
require 'net/http'

url = URI("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Not Eligible
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php Not Eligible
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Not Eligible
using RestSharp;

var client = new RestClient("https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Not Eligible
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://restapi.ordergroove.com/retention_incentives/eligibility_evaluation/")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```