# Clients and memberships

{% embed url="<https://developers.mindbodyonline.com/ui/documentation/public-api#/http/models/structures/client>" %}

## Membership status

A client is a member of a site when their `Status` is "Active".

Below is a full list of possible `Status` values:

* `"Active"` - The client has an active membership on file.
* `"Non-member"` - The client has never purchased a membership pricing option.
* `"Expired"` - The client has purchased a membership pricing option at least once, but the pricing option has either expired or has been used up.
* `"Suspended"` - The client had an active membership, but either the contract associated with the membership or the client's account is [suspended](https://support.mindbodyonline.com/s/article/203259713-Suspensions?language=en_US).
* `"Terminated"` - The client had an active membership, but its associated contract was [terminated](https://support.mindbodyonline.com/s/article/203258533-How-do-I-terminate-or-delete-a-contract?language=en_US).
* `"Declined"` - The client's last automatic membership payment was declined.

## Client ID and multiple sites

For businesses that have more than one site, the same person will have a different client ID at each site. There can also be client ID collisions between sites. To make a client's ID truly unique across of all Mindbody environments we suggest you concatenate the site ID with the client ID.

{% hint style="info" %}
Sites can have multiple locations. In these cases, the client ID is unique across all locations.
{% endhint %}

## Membership type

[Mindbody's API](https://developers.mindbodyonline.com/ui/documentation/public-api#/http/api-endpoints/client/get-active-clients-memberships) does not allow developers to grab client memberships at the location or site level. This means that the only option is to perform individual lookups or batched client lookups of active memberships. There isn't a good indicator to know when a membership is canceled or expired. Individual lookups and even batched client look ups can lead to a number of API calls, racking up API fees.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.middle.app/middle-docs/guides/app-reference/mindbody/clients-and-memberships.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
