• VillaSlotDocumentation
  • Introduction
  • Getting Started
  • API
    • Discovery
      • GETGet my context
    • Villas
      • GETList villas
      • POSTCreate a villa
      • GETGet a villa
      • PATCHRename a villa
      • POSTArchive a villa
      • POSTUpload a villa photo
      • GETGet opening hours
      • PUTReplace opening hours
      • GETGet the rate grid
      • PUTReplace the rate grid
      • GETGet availability
    • Bookings
      • GETList bookings over a period
      • POSTCreate a booking
      • GETGet a booking
      • POSTConfirm a booking
      • POSTComplete a booking
      • POSTCancel a booking
      • POSTReschedule a booking
    • Customers
      • GETList customers
      • POSTCreate a customer
      • POSTImport a batch of customers
      • GETGet a customer
      • PATCHUpdate a customer
    • Booking settings
      • GETGet booking settings
      • PATCHUpdate booking settings
  1. Documentation
  2. API
  3. Customers
  4. Update a customer
Buydocschangelogsdemocommunity

Update a customer

PreviousGet a customerNextBooking settings
On this page
AuthorizationRequest bodyExampleResponseWhat it refusesNotes

PATCH /api/v1/customers/{customerId}

Corrects a customer. Fields absent from the body keep their value.

Authorization

Role in the organizationThis endpoint
ownerAllowed
adminAllowed
memberAllowed

Request body

FieldTypeRequiredDescription
namestringno
emailstringnoUnique inside the organization; null clears it
phonestringno
notesstringno

Example

bash
curl -X PATCH -H "x-api-key: $VILLASLOT_API_KEY" -H "content-type: application/json" \
  -d '{"phone":"+62 812 3456 7890"}' \
  "https://villaslot.app/api/v1/customers/8d3e…"

Response

  • 200 OK — the updated customer.

What it refuses

  • 422 Unprocessable Entity — a malformed email, or an email already used by another customer of the organization.
  • 401 Unauthorized — missing or invalid key, or a key whose bearer left the organization.
  • 404 Not Found — unknown id, or an id belonging to another organization. The two are deliberately indistinguishable.
  • 429 Too Many Requests — over 120 requests in a minute for this key.

Notes

  • A link to a user account is never rewritten. Changing the email of a linked record does not move it to another account.