# Models

## The memberFilter object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"memberFilter":{"type":"object","description":"Filter criteria for searching loyalty members. At least one valid filter combination must be provided.","additionalProperties":false,"properties":{"providerMembershipId":{"type":"string","description":"Unique identifier for the membership in the provider's system."},"membershipNumber":{"type":"string","description":"Membership number assigned by the loyalty program."},"email":{"type":"string","format":"email","maxLength":255,"description":"Customer's email address for searching."},"firstName":{"type":"string","maxLength":255,"description":"Customer's first name for searching."},"lastName":{"type":"string","maxLength":255,"description":"Customer's last name for searching."},"phoneNumber":{"type":"string","description":"Customer's phone number for searching."},"city":{"type":"string","maxLength":255,"description":"Customer's city."},"postalCode":{"type":"string","maxLength":255,"description":"Customer's postal code."},"countryCode":{"type":"string","description":"ISO 3166-1 code of the country."}},"anyOf":[{"title":"Email filter","required":["email"]},{"title":"Membership number filter","required":["membershipNumber"]},{"title":"Provider membership ID filter","required":["providerMembershipId"]},{"title":"Name filter","required":["firstName","lastName"]},{"title":"Location filter","required":["lastName","city","countryCode"]}]}}}}
```

## The membership object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The enrollmentMembership object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"enrollmentMembership":{"description":"Membership information returned when enrolling a customer, extending the base membership with enrollment-specific details.","allOf":[{"$ref":"#/components/schemas/membership"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","minLength":1,"enum":["pending","enrolled"]}}}]},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The searchMembership object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"searchMembership":{"description":"Membership information returned in search results, extending the base membership with search-specific details.","allOf":[{"$ref":"#/components/schemas/membership"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined"]}}}]},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The customer object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"customer":{"type":"object","title":"Mews Customer","description":"Contains personal and contact information about a customer, including their unique Mews identifier used for referencing within the Mews platform.","required":["mewsCustomerId","firstName","lastName"],"properties":{"mewsCustomerId":{"type":"string","minLength":1,"format":"uuid"},"firstName":{"type":"string","minLength":1,"maxLength":255},"lastName":{"type":"string","minLength":1,"maxLength":255},"email":{"type":"string","format":"email","maxLength":255},"birthday":{"type":"string","format":"date","description":"Customer's date of birth in ISO 8601 format (YYYY-MM-DD)"},"phoneNumber":{"type":"string"},"address":{"$ref":"#/components/schemas/address"}}},"address":{"type":"object","description":"Physical address information including street address, city, postal code, and country details.","additionalProperties":false,"properties":{"line1":{"type":"string","maxLength":1023},"line2":{"type":"string","maxLength":255},"city":{"type":"string","maxLength":255},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"countrySubdivisionCode":{"type":"string"}},"title":"Customer address"}}}}
```

## The address object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"address":{"type":"object","description":"Physical address information including street address, city, postal code, and country details.","additionalProperties":false,"properties":{"line1":{"type":"string","maxLength":1023},"line2":{"type":"string","maxLength":255},"city":{"type":"string","maxLength":255},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"countrySubdivisionCode":{"type":"string"}},"title":"Customer address"}}}}
```

## The member object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"member":{"type":"object","title":"Loyalty program member","description":"Represents a customer who is part of a loyalty program. This object combines personal details with loyalty membership information.","required":["firstName","lastName","membership"],"properties":{"firstName":{"type":"string","minLength":1,"maxLength":255},"lastName":{"type":"string","minLength":1,"maxLength":255},"email":{"type":"string","format":"email","maxLength":255},"birthday":{"type":"string","format":"date","description":"User's date of birth in ISO 8601 format (YYYY-MM-DD)"},"phoneNumber":{"type":"string"},"address":{"$ref":"#/components/schemas/address"},"membership":{"$ref":"#/components/schemas/searchMembership"}}},"address":{"type":"object","description":"Physical address information including street address, city, postal code, and country details.","additionalProperties":false,"properties":{"line1":{"type":"string","maxLength":1023},"line2":{"type":"string","maxLength":255},"city":{"type":"string","maxLength":255},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"countrySubdivisionCode":{"type":"string"}},"title":"Customer address"},"searchMembership":{"description":"Membership information returned in search results, extending the base membership with search-specific details.","allOf":[{"$ref":"#/components/schemas/membership"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined"]}}}]},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The problemDetail object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"problemDetail":{"type":"object","additionalProperties":true,"description":"A standardized format for problem details following [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457).","title":"Problem details","required":["type","status","title","detail"],"properties":{"type":{"type":"string","minLength":1,"description":"A URI reference that identifies the problem type. Can be any URI or one of the predefined error types.","anyOf":[{"title":"Predefined Problem Types","type":"string","enum":["https://purl.mews.com/problem/core/not-found","https://purl.mews.com/problem/core/bad-request","https://purl.mews.com/problem/core/unprocessable-content","https://purl.mews.com/problem/core/unauthorized","https://purl.mews.com/problem/core/request-timeout","https://purl.mews.com/problem/core/too-many-requests","https://purl.mews.com/problem/core/internal-server-error","https://purl.mews.com/problem/loyalty/invalid-member-search-criteria"]},{"title":"Custom Problem Type URI","type":"string","format":"uri"}]},"title":{"type":"string","minLength":1,"maxLength":255,"description":"A short, human-readable summary of the problem type."},"status":{"type":"integer","description":"The HTTP status code generated by the origin server for this occurrence of the problem.","minimum":100,"maximum":599},"detail":{"type":"string","minLength":1,"description":"A human-readable explanation specific to this occurrence of the problem."},"instance":{"type":"string","format":"uri","description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced."},"errors":{"type":"array","description":"An array of field-level error details, typically used to describe validation failures or missing/invalid input fields.","items":{"type":"object","additionalProperties":false,"required":["type","pointer"],"properties":{"type":{"type":"string","minLength":1,"description":"A URI reference that identifies the field-level error type. Can be any URI or one of the predefined error types.","anyOf":[{"title":"Custom Field Error Type URI","type":"string","format":"uri"},{"title":"Predefined Field Error Types","type":"string","enum":["https://purl.mews.com/problem/core/field-required","https://purl.mews.com/problem/core/field-invalid-format","https://purl.mews.com/problem/core/field-too-short","https://purl.mews.com/problem/core/field-too-long","https://purl.mews.com/problem/core/field-out-of-range","https://purl.mews.com/problem/core/field-invalid-type","https://purl.mews.com/problem/core/field-not-allowed-value","https://purl.mews.com/problem/core/field-duplicate","https://purl.mews.com/problem/core/field-email-invalid"]}]},"pointer":{"type":"string","description":"JSON Pointer to the field that has an error. See [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901) for the JSON Pointer specification.","minLength":1,"maxLength":255},"detail":{"type":"string","description":"A human-readable message describing the error.","maxLength":500}}}}}}}}}
```

## The membershipNumber object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The mewsCustomerId object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"mewsCustomerId":{"type":"string","format":"uuid","title":"Mews customer Identifier","description":"Unique identifier of customer account in Mews. Can be used in Connector API."}}}}
```

## The mewsEnterpriseId object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"mewsEnterpriseId":{"title":"Mews Enterprise Identifier","type":"string","format":"uuid","description":"The identifier of the Mews enterprise on whose behalf the request has been made."}}}}
```

## The providerEnterpriseId object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"providerEnterpriseId":{"title":"Provider Enterprise Identifier","type":"string","description":"An optional identifier of the enterprise from the loyalty provider on whose behalf the request has been made."}}}}
```

## The providerMembershipId object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50}}}}
```

## The searchMembersRequest object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"searchMembersRequest":{"type":"object","description":"Request payload for searching loyalty program members based on customer information from Mews PMS.","additionalProperties":false,"required":["mewsEnterpriseId","memberFilter"],"properties":{"mewsEnterpriseId":{"$ref":"#/components/schemas/mewsEnterpriseId"},"providerEnterpriseId":{"$ref":"#/components/schemas/providerEnterpriseId"},"memberFilter":{"$ref":"#/components/schemas/memberFilter"}}},"mewsEnterpriseId":{"title":"Mews Enterprise Identifier","type":"string","format":"uuid","description":"The identifier of the Mews enterprise on whose behalf the request has been made."},"providerEnterpriseId":{"title":"Provider Enterprise Identifier","type":"string","description":"An optional identifier of the enterprise from the loyalty provider on whose behalf the request has been made."},"memberFilter":{"type":"object","description":"Filter criteria for searching loyalty members. At least one valid filter combination must be provided.","additionalProperties":false,"properties":{"providerMembershipId":{"type":"string","description":"Unique identifier for the membership in the provider's system."},"membershipNumber":{"type":"string","description":"Membership number assigned by the loyalty program."},"email":{"type":"string","format":"email","maxLength":255,"description":"Customer's email address for searching."},"firstName":{"type":"string","maxLength":255,"description":"Customer's first name for searching."},"lastName":{"type":"string","maxLength":255,"description":"Customer's last name for searching."},"phoneNumber":{"type":"string","description":"Customer's phone number for searching."},"city":{"type":"string","maxLength":255,"description":"Customer's city."},"postalCode":{"type":"string","maxLength":255,"description":"Customer's postal code."},"countryCode":{"type":"string","description":"ISO 3166-1 code of the country."}},"anyOf":[{"title":"Email filter","required":["email"]},{"title":"Membership number filter","required":["membershipNumber"]},{"title":"Provider membership ID filter","required":["providerMembershipId"]},{"title":"Name filter","required":["firstName","lastName"]},{"title":"Location filter","required":["lastName","city","countryCode"]}]}}}}
```

## The enrollCustomerRequest object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"enrollCustomerRequest":{"type":"object","description":"Request payload for enrolling a customer from Mews into the provider's loyalty program.","additionalProperties":false,"required":["customer","mewsEnterpriseId"],"properties":{"customer":{"allOf":[{"$ref":"#/components/schemas/customer"}]},"mewsEnterpriseId":{"$ref":"#/components/schemas/mewsEnterpriseId"},"providerEnterpriseId":{"$ref":"#/components/schemas/providerEnterpriseId"}}},"customer":{"type":"object","title":"Mews Customer","description":"Contains personal and contact information about a customer, including their unique Mews identifier used for referencing within the Mews platform.","required":["mewsCustomerId","firstName","lastName"],"properties":{"mewsCustomerId":{"type":"string","minLength":1,"format":"uuid"},"firstName":{"type":"string","minLength":1,"maxLength":255},"lastName":{"type":"string","minLength":1,"maxLength":255},"email":{"type":"string","format":"email","maxLength":255},"birthday":{"type":"string","format":"date","description":"Customer's date of birth in ISO 8601 format (YYYY-MM-DD)"},"phoneNumber":{"type":"string"},"address":{"$ref":"#/components/schemas/address"}}},"address":{"type":"object","description":"Physical address information including street address, city, postal code, and country details.","additionalProperties":false,"properties":{"line1":{"type":"string","maxLength":1023},"line2":{"type":"string","maxLength":255},"city":{"type":"string","maxLength":255},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"countrySubdivisionCode":{"type":"string"}},"title":"Customer address"},"mewsEnterpriseId":{"title":"Mews Enterprise Identifier","type":"string","format":"uuid","description":"The identifier of the Mews enterprise on whose behalf the request has been made."},"providerEnterpriseId":{"title":"Provider Enterprise Identifier","type":"string","description":"An optional identifier of the enterprise from the loyalty provider on whose behalf the request has been made."}}}}
```

## The linkMembershipRequest object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"linkMembershipRequest":{"type":"object","description":"Request payload for linking or unlinking a Mews customer to an existing membership in the loyalty program.","additionalProperties":false,"required":["mewsEnterpriseId","providerMembershipId","mewsCustomerId","isLinked"],"properties":{"mewsEnterpriseId":{"$ref":"#/components/schemas/mewsEnterpriseId"},"providerMembershipId":{"allOf":[{"$ref":"#/components/schemas/providerMembershipId"}]},"providerEnterpriseId":{"$ref":"#/components/schemas/providerEnterpriseId"},"mewsCustomerId":{"$ref":"#/components/schemas/mewsCustomerId"},"isLinked":{"type":"boolean","description":"`true` if the customer is linked to the membership, `false` if unlinked.\n\nProviders may delete unlinked memberships; for purposes of this API it's not necessary to keep them stored on provider's side."}}},"mewsEnterpriseId":{"title":"Mews Enterprise Identifier","type":"string","format":"uuid","description":"The identifier of the Mews enterprise on whose behalf the request has been made."},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"providerEnterpriseId":{"title":"Provider Enterprise Identifier","type":"string","description":"An optional identifier of the enterprise from the loyalty provider on whose behalf the request has been made."},"mewsCustomerId":{"type":"string","format":"uuid","title":"Mews customer Identifier","description":"Unique identifier of customer account in Mews. Can be used in Connector API."}}}}
```

## The listMembershipsRequest object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"listMembershipsRequest":{"type":"object","description":"Request payload for fetching the latest details of loyalty memberships using their unique provider IDs.","additionalProperties":false,"required":["mewsEnterpriseId","providerMembershipIds"],"properties":{"mewsEnterpriseId":{"$ref":"#/components/schemas/mewsEnterpriseId"},"providerEnterpriseId":{"$ref":"#/components/schemas/providerEnterpriseId"},"providerMembershipIds":{"type":"array","minItems":1,"maxItems":100,"items":{"$ref":"#/components/schemas/providerMembershipId"},"description":"Array of membership IDs to retrieve."}}},"mewsEnterpriseId":{"title":"Mews Enterprise Identifier","type":"string","format":"uuid","description":"The identifier of the Mews enterprise on whose behalf the request has been made."},"providerEnterpriseId":{"title":"Provider Enterprise Identifier","type":"string","description":"An optional identifier of the enterprise from the loyalty provider on whose behalf the request has been made."},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50}}}}
```

## The searchMembersResponse object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"searchMembersResponse":{"type":"object","description":"Response payload containing search results with matching loyalty program members.","additionalProperties":false,"required":["isPartialResult","data"],"properties":{"isPartialResult":{"type":"boolean","description":"If the number of matching results exceeds the allowed maximum number of result items (10), set `isPartialResult` to `true` to indicate an incomplete result set."},"data":{"type":"array","maxItems":10,"description":"Array of matching members.","items":{"$ref":"#/components/schemas/member"}}}},"member":{"type":"object","title":"Loyalty program member","description":"Represents a customer who is part of a loyalty program. This object combines personal details with loyalty membership information.","required":["firstName","lastName","membership"],"properties":{"firstName":{"type":"string","minLength":1,"maxLength":255},"lastName":{"type":"string","minLength":1,"maxLength":255},"email":{"type":"string","format":"email","maxLength":255},"birthday":{"type":"string","format":"date","description":"User's date of birth in ISO 8601 format (YYYY-MM-DD)"},"phoneNumber":{"type":"string"},"address":{"$ref":"#/components/schemas/address"},"membership":{"$ref":"#/components/schemas/searchMembership"}}},"address":{"type":"object","description":"Physical address information including street address, city, postal code, and country details.","additionalProperties":false,"properties":{"line1":{"type":"string","maxLength":1023},"line2":{"type":"string","maxLength":255},"city":{"type":"string","maxLength":255},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"countrySubdivisionCode":{"type":"string"}},"title":"Customer address"},"searchMembership":{"description":"Membership information returned in search results, extending the base membership with search-specific details.","allOf":[{"$ref":"#/components/schemas/membership"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined"]}}}]},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The enrollCustomerResponse object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"enrollCustomerResponse":{"type":"object","description":"Response payload containing the newly created or updated membership information after enrollment.","additionalProperties":false,"required":["data"],"properties":{"data":{"$ref":"#/components/schemas/enrollmentMembership"}}},"enrollmentMembership":{"description":"Membership information returned when enrolling a customer, extending the base membership with enrollment-specific details.","allOf":[{"$ref":"#/components/schemas/membership"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","minLength":1,"enum":["pending","enrolled"]}}}]},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```

## The listMembershipsResponse object

```json
{"openapi":"3.1.1","info":{"title":"Mews Loyalty Reverse API","version":"2025.08.11"},"components":{"schemas":{"listMembershipsResponse":{"type":"object","description":"Response payload containing an array of membership details for the requested provider membership IDs.","additionalProperties":false,"required":["data"],"properties":{"data":{"type":"array","minItems":1,"maxItems":100,"description":"Array of matching memberships, if any membership is not found, return it with state `notFound`.","items":{"$ref":"#/components/schemas/membership"}}}},"membership":{"type":"object","description":"Contains membership information including provider membership ID, membership number, tier, points, and current status.","additionalProperties":false,"required":["providerMembershipId","membershipNumber","status"],"properties":{"providerMembershipId":{"$ref":"#/components/schemas/providerMembershipId"},"membershipNumber":{"$ref":"#/components/schemas/membershipNumber"},"tier":{"type":"string","maxLength":50},"points":{"type":"integer"},"status":{"type":"string","minLength":1,"enum":["pending","enrolled","canceled","declined","notFound"]},"expiresAt":{"type":"string","format":"date-time"},"deeplinkUrl":{"type":"string","format":"uri"}}},"providerMembershipId":{"type":"string","title":"Provider membership Identifier","description":"Unique internal identifier of membership from the loyalty provider. Can be the same as `membershipNumber` if no other value is needed.","maxLength":50},"membershipNumber":{"type":"string","title":"Membership number","description":"Member code or number, typically on loyalty card."}}}}
```
