Contents
On this page
Get Customer Membership - Plugixa Car Wash
GET /plugixa-carwash/v1/customers/{id}/membership
Read the membership a customer can use today, with its plan and the washes left this period.
Needs Plugixa Car Wash Pro with the Memberships app on, and the plugixa_carwash_view capability.
Request
GET https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/membership
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The customer’s id |
Responses
200 OK. data is the membership, or null when the customer has none in force today.
{
"success": true,
"data": {
"id": 14,
"customer_id": 25,
"plan_id": 2,
"status": "active",
"current_period_start": "2026-11-01",
"current_period_end": "2026-11-30",
"cancel_at_period_end": false,
"provider": "manual",
"provider_ref": "",
"provider_customer": "",
"notes": "",
"created_by": 1,
"modified_by": 1,
"created_at": "2026-11-10 08:15:00",
"modified_at": "2026-11-12 09:30:00",
"deleted_at": null,
"plan": {
"id": 2,
"name": "Unlimited Monthly",
"description": "Wash as often as you like.",
"price": 39.0,
"currency": "USD",
"period": "month",
"washes": 0,
"package_ids": [
4
],
"addon_discount": 10.0,
"color": "#6366F1",
"sort_order": 0,
"status": "published",
"created_by": 1,
"modified_by": 1,
"created_at": "2026-11-10 08:15:00",
"modified_at": "2026-11-12 09:30:00",
"deleted_at": null
},
"used": 3,
"remaining": null
}
}
| Field | Type | Meaning |
|---|---|---|
data.plan |
object |
The plan |
data.used |
integer |
Washes taken this period |
data.remaining |
integer|null |
Washes left this period, null on an unlimited plan |
“In force” means active or past_due, with today inside its period. When there are several, the newest wins.
Errors
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/membership" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/membership');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = Buffer.from(`admin:${process.env.WP_APP_PASSWORD}`).toString('base64');
const response = await fetch('https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/membership', {
headers: {
'Authorization': `Basic ${auth}`,
},
});
const { data } = await response.json();
Quick Links
Share