Contents
On this page

Renew Membership - Plugixa Car Wash

POST /plugixa-carwash/v1/memberships/{id}/renew

Start the next period of a membership sold at the desk, after the customer has paid for it.

Needs Plugixa Car Wash Pro with the Memberships app on, and the plugixa_carwash_edit capability.

Request

POST https://your-site.example/wp-json/plugixa-carwash/v1/memberships/14/renew

Path parameters

Name Type Description
id integer The membership’s id

Request body

Content type: application/json

No body. The new period starts the day after the current one ends, or today when it has already ended. The membership becomes active and stops being set to end with the period.

Responses

200 OK. data is the renewed membership.

{
  "success": true,
  "data": {
    "id": 14,
    "customer_id": 25,
    "plan_id": 2,
    "status": "active",
    "current_period_start": "2026-12-01",
    "current_period_end": "2026-12-31",
    "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 10:30:00",
    "deleted_at": null,
    "customer_name": "Lucas Bernard",
    "customer_email": "lucas@example.com",
    "plan_name": "Unlimited Monthly",
    "plan_color": "#6366F1",
    "washes": 0,
    "used": 3
  }
}
Field Type Meaning
data.current_period_start string New first day
data.current_period_end string New last day
data.status string active

Errors

Status Code When
404 plugixa_carwash_not_found No membership with that id, or it is in the trash.
409 plugixa_carwash_billed_online A stripe membership: it renews itself.

Plus the errors every endpoint can return.

Examples

curl -s -X POST "https://your-site.example/wp-json/plugixa-carwash/v1/memberships/14/renew" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/memberships/14/renew');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'POST',
    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/memberships/14/renew', {
  method: 'POST',
  headers: {
    'Authorization': `Basic ${auth}`,
  },
});
const { data } = await response.json();

Quick Links

Share