The Validation API allows developers to provide their own validation of a cart and checkout, including express checkouts, such as PayPal, Shop Pay, Google Pay, and Apple Pay.

> Note:
> Errors from Validation functions are exposed to the Storefront API's [`Cart`](/docs/storefronts/headless/building-with-the-storefront-api/cart/manage) object, in themes using the [`cart` template](/docs/storefronts/themes/architecture/templates/cart) and during checkout.

## Example use cases

- Use [tokengating](/docs/apps/build/blockchain/tokengating) or require a customer membership at checkout.
- Verify the age or ID of a customer when they proceed through checkout.
- Provide B2B product minimums, maximums, and multiples.
- Provide B2B location order minimums, maximums, or credit limits.
- Specify quantity limits in a flash sale.

## Developer tools and resources

<div class="resource-card-grid">
  <div>
  <a class="resource-card" href="/docs/apps/build/cli-for-apps" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/cli"
     data-alt-src="/assets/resource-cards/cli-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Shopify CLI
    </h3>
    <p class="resource-card__description">A command-line tool for building Shopify apps.</p>
  </a>
</div></p>

<p><div>
  <a class="resource-card" href="/docs/api/functions/reference/cart-checkout-validation/graphql" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/graphql"
     data-alt-src="/assets/resource-cards/graphql-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Validation API reference
    </h3>
    <p class="resource-card__description">Consult the GraphQL reference for the Validation API.</p>
  </a>
</div>
</div>


## Limitations and considerations

- Validation functions are cached. This can result in a delay (typically, less than one minute) between changes being made and those changes being live.
- You can install a maximum of five validation functions on each store.

## Next steps

- Learn how to use Validation functions by [validating a cart and checkout](/docs/apps/build/checkout/cart-checkout-validation/create-server-side-validation-function).