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

# Scans

> Overview of the Scans API and the two validation methods available.

## **Overview**

A scan represents the action of reading a pass (either via NFC or barcode) using a **PassEntry-compatible reader**. The **Scans API** is essential for businesses that need to validate and process passes at physical locations.

**Common Use Cases**

* Event access control
* Membership verification
* Ticket validation
* Loyalty program check-ins
* etc.

## **Validation Methods**

The **Scans API** enables validation of passes through two different methods:

### **Internal PassEntry Validation (Default)**

* A simple and convenient out-of-the-box solution
* Validates passes against **PassEntry's database**
* Ensures the pass is **valid and active**
* If a validity period is configured, ensures the pass **hasn't been scanned within that timeframe**
* Returns **immediate validation results** and **reader instructions**
* Scan value (NFC/barcode) must be the **pass UUID** or **external ID**
* `/scans` endpoint is used for this flow

***

### **Third-Party Validation**

* Your system handles **all validation logic**
* Highly flexible – define your own validation rules and business logic
* Scan value can contain **any data format** you need:
  * Multiple values (e.g., `"customerID-promoCode"`)
  * Custom formats
* Full control over **reader behavior** through reader instructions:
  * Currently supports **display messages**
  * Future expansion planned for **LED colors, sounds, icons**, and more controls depending on the reader type
* Results are **logged back to PassEntry** for analytics and reporting (only available for PassEntry Reader)
* `/scans/log` endpoint is used for this flow
* Available with **PassEntry Reader** and **VTAP reader**

***

Both methods support **NFC and barcode scanning**, and provide **detailed scan information**, including timestamps, pass details, and validation status. The **validation type is configured in your [reader settings](https://app.passentry.com/readers/reader-configuration)** on the **PassEntry Dashboard**.
