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

# Check Eligibility

> Check if a product is HSA/FSA eligible before creating it

# Check Eligibility

Check if a product is HSA/FSA eligible using its UPC code or name, without creating a product. Useful for pre-validation during product import or catalog setup.

## Authentication

```bash theme={null}
Authorization: Bearer glm_test_YOUR_API_KEY
```

## Request Body

```json theme={null}
{
  "upc_code_or_gtin": "14567890123456",
  "product_name": "Digital Blood Pressure Monitor"
}
```

## Parameters

At least one parameter is required:

| Parameter | Type | Required | Description |
| - | - | - | - |
| `upc_code_or_gtin` | string | No\* | UPC or GTIN barcode |
| `product_name` | string | No\* | Product name |

\*At least one of `upc_code_or_gtin` or `product_name` must be provided. UPC is more accurate.

## Request

```bash theme={null}
POST /api/v2/products/check-eligibility
```

## Response

```json theme={null}
{
  "hsa_fsa_eligible": true,
  "message": "SIGIS verified - Medical device",
  "checked_at": "2025-10-18T14:30:00Z",
  "upc_code_or_gtin": "14567890123456",
  "product_name": "Digital Blood Pressure Monitor"
}
```

## Response Fields

| Field | Type | Description |
| - | - | - |
| `hsa_fsa_eligible` | boolean | Whether product is HSA/FSA eligible |
| `message` | string | Explanation of eligibility status |
| `checked_at` | timestamp | When eligibility was checked |

## Examples

```bash theme={null}
curl -X POST https://api.withgale.com/api/v2/products/check-eligibility \
  -H "Authorization: Bearer glm_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "upc_code_or_gtin": "14567890123456",
    "product_name": "Digital Blood Pressure Monitor"
  }'
```

## Not Eligible Response

```json theme={null}
{
  "hsa_fsa_eligible": false,
  "message": "Product not found in SIGIS database. May not be HSA/FSA eligible or requires manual review.",
  "checked_at": "2025-10-18T14:30:00Z",
  "upc_code_or_gtin": "99999999999999",
  "product_name": "Regular Consumer Product"
}
```

## Dual-Purpose Products

Some products require a Letter of Medical Necessity (LMN):

```json theme={null}
{
  "hsa_fsa_eligible": true,
  "message": "Eligible with Letter of Medical Necessity (LMN). Customer must provide doctor's note.",
  "checked_at": "2025-10-18T14:30:00Z",
  "product_name": "Vitamin D Supplements"
}
```

## Rate Limits

* **Test mode:** 100 requests/minute
* **Live mode:** 1000 requests/minute

For bulk checking, add 100ms delay between requests.

## Errors

| Status Code | Error Code | Description |
| - | - | - |
| 400 | `invalid_request` | Missing both UPC and product name |
| 401 | `unauthorized` | Invalid or missing API key |
| 422 | `validation_error` | Invalid UPC format |
| 429 | `rate_limit_exceeded` | Too many requests |

Example error:

```json theme={null}
{
  "error": {
    "code": "invalid_request",
    "message": "Either upc_code_or_gtin or product_name must be provided"
  }
}
```

## Important Notes

<Info>
  **Eligibility can change.** SIGIS database updates monthly. Re-check eligibility periodically for existing products.
</Info>

<Warning>
  **Not a guarantee.** Eligibility check indicates SIGIS database status. Final determination depends on customer's HSA/FSA administrator.
</Warning>

## Related Endpoints

* [Create Product](/api-reference/endpoint/create-product-v2) - POST /api/v2/products
* [Get Product](/api-reference/endpoint/get-product-v2) - GET /api/v2/products/{id}
* [Update Product](/api-reference/endpoint/update-product-v2) - PUT /api/v2/products/{id}
* [List Products](/api-reference/endpoint/list-products-v2) - GET /api/v2/products

## Related Resources

* [Product Object](/api-reference/objects/product)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.