List Appointments
Retrieve appointments for your organization
GET
/calendar/appointmentsRequires
Bearer authenticationRetrieve appointments for your organization with optional filtering by status and date range.
Query Parameters
statusstringFilter by status: pending, confirmed, completed, cancelled, no_show.
fromstringStart date filter (ISO 8601 format).
tostringEnd date filter (ISO 8601 format).
limitintegerMaximum results to return. Defaults to 50.
GET
/calendar/appointmentscurl -X GET "https://api.vastal.agency/v1/calendar/appointments?status=confirmed&from=2024-01-01" \ -H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch( 'https://api.vastal.agency/v1/calendar/appointments?status=confirmed', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } } ); const data = await response.json();
import requests response = requests.get( 'https://api.vastal.agency/v1/calendar/appointments', params={'status': 'confirmed', 'from': '2024-01-01'}, headers={'Authorization': 'Bearer YOUR_API_KEY'} ) data = response.json()
200Success
{ "appointments": [ { "id": "apt_abc123", "org_id": "org_xyz789", "appointment_type_id": "type_def456", "start_time": "2024-01-20T10:00:00Z", "end_time": "2024-01-20T11:00:00Z", "client_name": "John Smith", "client_email": "john@example.com", "client_phone": "+1234567890", "client_notes": "First time client", "status": "confirmed", "confirmed_at": "2024-01-19T15:30:00Z", "source": "booking_page", "appointment_type": { "id": "type_def456", "name": "Tax Consultation", "duration_minutes": 60, "color": "#3b82f6" } } ] }