Contents
On this page

Update Fleet Account - Plugixa Car Wash

PUT /plugixa-carwash/v1/fleet-accounts/{id}

Change some or all of a company account’s fields. PATCH does the same as PUT.

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

Only what you send changes. A field you leave out keeps its value, so you can send a single field. A field you send is checked exactly as on create.

Request

PUT https://your-site.example/wp-json/plugixa-carwash/v1/fleet-accounts/6

Path parameters

Name Type Description
id integer The company account’s id

Request body

Content type: application/json

Field Type Required Description
name string No The company, at most 190 characters.
contact_name string No At most 190 characters.
email string No Billing address for statements. Valid when given.
phone string No At most 50 characters.
address string No Billing address, at most 1000 characters. Line breaks are kept.
tax_id string No At most 60 characters.
discount number No Percent, 0 to 100.
credit_limit number No 0 to 10000000.
terms_days integer No 0 to 365.
notes string No At most 5000 characters.
color string No A hex colour, or empty.
status string No published or unpublished.
modified_at string No The modified_at you last read. When the company account has changed since, the update is refused with 409.
{
  "credit_limit": 3000,
  "modified_at": "2026-11-12 09:30:00"
}

Responses

200 OK. data is the updated company account.

{
  "success": true,
  "data": {
    "id": 6,
    "name": "Acme Deliveries",
    "contact_name": "Sarah Jones",
    "email": "accounts@acme.example",
    "phone": "+1 217 555 0170",
    "address": "1 Depot Lane\nSpringfield",
    "tax_id": "US123456789",
    "discount": 15.0,
    "credit_limit": 2000.0,
    "terms_days": 30,
    "notes": "",
    "color": "#14B8A6",
    "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,
    "members": 4,
    "unbilled": 240.5,
    "outstanding": 610.0,
    "balance": 850.5
  }
}
Field Type Meaning
data.id integer The company account’s id
data.discount number Percent off its drivers’ bookings
data.credit_limit number Most it may owe. 0 means no limit
data.terms_days integer Days it has to pay a statement
data.members integer Customers linked to it
data.unbilled number Charges not on a statement yet
data.outstanding number Charges on statements issued and not paid
data.balance number unbilled plus outstanding
data.created_at string UTC datetime
data.modified_at string UTC datetime of the last change. Send it back on an update to be warned about a conflicting edit
data.deleted_at string|null null unless the record is in the trash

Errors

Status Code When
404 plugixa_carwash_not_found No company account with that id, or it is in the trash.
422 plugixa_carwash_missing_name name is missing or empty.
422 plugixa_carwash_too_long_{field} A text field is too long. The code names the field.
422 plugixa_carwash_too_small_{field} / too_large_{field} A number is outside its range. The code names the field.
422 plugixa_carwash_invalid_{field} A choice field has a value that is not one of its choices. The code names the field.
422 plugixa_carwash_invalid_email email is not a valid address.
409 plugixa_carwash_conflict You sent modified_at and somebody saved the company account since. data.expected and data.current hold both values.

Plus the errors every endpoint can return.

Examples

curl -s -X PUT "https://your-site.example/wp-json/plugixa-carwash/v1/fleet-accounts/6" \
  -u "admin:$WP_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"credit_limit":3000,"modified_at":"2026-11-12 09:30:00"}'
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/fleet-accounts/6');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => 'admin:' . getenv('WP_APP_PASSWORD'),
    CURLOPT_HTTPHEADER     => [
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS     => json_encode([
        'credit_limit' => 3000,
        'modified_at'  => '2026-11-12 09:30:00',
    ]),
]);
$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/fleet-accounts/6', {
  method: 'PUT',
  headers: {
    'Authorization': `Basic ${auth}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ credit_limit: 3000, modified_at: '2026-11-12 09:30:00' }),
});
const { data } = await response.json();

Quick Links

Share