Matchai Docs

Update an appointmentComing soon

Changes the title, your private notes or the directions. It notifies nobody.

Coming soon. This is documented ahead of launch so you can plan your integration; it is not available yet.
PATCH
/appointments/{appointment_id}

Coming soon. Changes the title, your private notes or the directions. It notifies nobody.

Scopes: calendar:write

Pricing: Included with the connection.

Authorization

headerAuthorizationBearer <matchai_<base62>>

A personal API key, sent as Authorization: Bearer matchai_…. Create keys in Matchai under Settings → Connectors → Advanced (for developers). A key starts with matchai_ followed by letters and digits, carries the scopes chosen when it was created, and can be revoked at any time. Keys reach only the account that created them: to serve other professionals, use Connect with Matchai.

Scope: calendar:write

Path Parameters

appointment_id*string

Appointment id.

Length1 <= length <= 64

Request Body

application/json
  1. body

Changes that notify nobody. To move the time, use reschedule.

Properties1 <= properties
title?|

Title.

Lengthlength <= 200
internal_notes?|

Notes only you see.

Lengthlength <= 4000
location_note?|

Directions.

Lengthlength <= 500

Response Body

The appointment.

application/json
  1. response
id*string

Appointment id.

Length1 <= length <= 64
title?|

Title. When null, Matchai shows one built from the type and the listing.

type*AppointmentType
Value in"property_viewing""open_house""virtual_tour""walkthrough""client_consultation""client_followup""offer_review""negotiation_meeting""contract_review""contract_signing""contract_amendment""closing_meeting""key_exchange""inspection""environmental_inspection""move_in_inspection""move_out_inspection""appraisal""work_estimation""surveying""title_search""mortgage_meeting""insurance_consultation""legal_consultation""escrow_meeting""marketing_photoshoot""staging_consultation""renovation_consultation""relocation_consultation""zoning_consultation""architectural_review""construction_update""developer_meeting""hoa_meeting""property_management_meeting""tenant_screening""utility_setup""status_update""team_meeting"
status*AppointmentStatus

requested: waiting for the host’s answer. confirmed: booked. reschedule_pending: a new time was proposed and waits for an answer.

Value in"requested""confirmed""reschedule_pending""completed""cancelled""declined""no_show"
starts_at*string

Start, with the UTC offset of timezone.

Formatdate-time
ends_at*string

End.

Formatdate-time
duration_minutes*integer

Length.

Range5 <= value <= 480
timezone*string

IANA time zone of the appointment.

location*
host*
participants*array<>

Everyone invited except the host.

listing_ids*array<>

Listings it is about.

project_id?|

Project it belongs to.

Length1 <= length <= 64
conversation_id?|

Conversation it was arranged in.

Length1 <= length <= 64
notes?|

Notes every participant sees.

internal_notes?|

Notes only you see.

source*string
Value in"listing""direct""project""assistant""api"
proposed_starts_at?|

For reschedule_pending: the proposed new start.

Formatdate-time
requested_at?|

When it was requested.

Formatdate-time
created_at*string

Created.

Formatdate-time
updated_at*string

Last changed.

Formatdate-time
Example Request
curl -X PATCH 'https://api.matchai.co/v1/appointments/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "title": "string",  "type": "property_viewing",  "status": "requested",  "starts_at": "2019-08-24T14:15:22Z",  "ends_at": "2019-08-24T14:15:22Z",  "duration_minutes": 5,  "timezone": "string",  "location": {    "type": "in_person",    "address": {      "formatted": "string",      "street": "string",      "unit": "string",      "city": "string",      "region": "string",      "postal_code": "string",      "country": "string"    },    "url": "http://example.com",    "phone": "string",    "note": "string"  },  "host": {    "user_id": "string",    "display_name": "string",    "team_id": "string"  },  "participants": [    {      "user_id": "string",      "contact_id": "string",      "display_name": "string",      "role": "attendee",      "status": "pending"    }  ],  "listing_ids": [    "string"  ],  "project_id": "string",  "conversation_id": "string",  "notes": "string",  "internal_notes": "string",  "source": "listing",  "proposed_starts_at": "2019-08-24T14:15:22Z",  "requested_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}