## Documentation Index

Fetch the complete documentation index at: [/docs/llms.txt](/content/docs/llms.txt)

Use this file to discover all available pages before exploring further.

Customer State is a concept allowing you to query for the current state of a customer, including their active subscriptions and granted [benefits](/content/docs/features/benefits/introduction/index.html), in a single [API call](/content/docs/api-reference/customers/get-customer-state-by-external-id/index.html) or single [webhook event](/content/docs/api-reference/current/customer_state_changed/index.html). Combined with the [External ID](/content/docs/features/customer-management#external-id/index.html) feature, you can get up-and-running in minutes.

## The customer state object

The customer state object contains:

- All the data about the customer.
- The list of their **active** subscriptions.
- The list of their **granted** benefits.
- The list of their **active** meters, with their current balance.

Thus, with that single object, you have all the required information to check if you should provision access to your service or not.

[**Get Customer State by External ID**](/content/docs/api-reference/customers/get-customer-state-by-external-id/index.html)

[**Get Customer State**](/content/docs/api-reference/customers/get-customer-state/index.html)

## The `customer.state_changed` webhook

To be notified of the customer state changes, you can listen to the `customer.state_changed` webhook event. It’s triggered when:

- Customer is created, updated, or deleted.
- A subscription is created or updated.
- A benefit is granted or revoked.

By subscribing to this webhook event, you keep your system up-to-date and update your customer’s access accordingly.

[**customer.state_changed**](/content/docs/api-reference/current/customer_state_changed/index.html)
