# Enums

Some properties on API resources use a fixed set of possible string values, which are known as enums. Enums can be *closed* or *open*:

- **Closed**: The set of values for the enum is fixed and won’t grow or change over time.
- **Open**: The set of values for the enum can grow or change over time. Stripe can add new values as a backward-compatible change without requiring an [API version](https://docs.stripe.com/api/versioning.md) upgrade. Each enum’s reference entry indicates whether it is open.

## Handling open enums in responses

Don’t assume that the values documented for an open enum are exhaustive. When you read an open enum from an API response, your code should include a safe fallback—such as a default branch in a switch statement—to gracefully handle values your integration doesn’t yet recognize.

## Sending enum values in requests

When sending an enum value in a request, use only the values documented for the parameter you’re setting. Even if an enum is open, Stripe validates request values against the set of values that are currently supported.
