Update an appointment details from a white-list of updatable attributes.

Updatable Attributes White-list


Attributes not included in the request body or not on the white-list will be ignored. Appointments can be rescheduled and canceled with separate APIs.

  • firstName
  • lastName
  • phone
  • email
  • certificate
  • notes
  • fields
  • smsOptIn

It is only necessary to send the attributes you would like to update, but required attributes such as firstName and lastName may not be cleared.

Updating Forms

Form data may be updated using the special fields attribute. The fields are an array of field ID and value objects, {"id": fieldId, "value": fieldValue}.

Field IDs can be found in the GET /forms API or by editing the form in Acuity and inspecting the fields by right clicking the field and choosing "Inspect".

Values for the [multi-valued field checkboxlist] should be submitted as a single comma-delimited string.

PUT "https://acuityscheduling.com/api/v1/appointments/1"

  "fields": [
      "id": 1,
      "value": "My field value."

Updating as an Admin



By default appointments are updated as if they are being edited by a client. Updating an appointment as an admin allows setting the "notes" and/or "certificate" field, disabling attribute validations. To book as an admin pass the query parameter admin=true.

PUT "https://acuityscheduling.com/api/v1/appointments/1?admin=true"

  "notes": "These are my notes."


The API currently only accepts one label per appointment, passed as an array of objects with length 1.

"labels": [
"id": 3,
"name": "Completed",
"color": "pink"