Skip to main content

clinik.appointmentResponses

Appointment responses represent a participant’s reply to an appointment — accepting, declining, tentatively accepting, or requesting a new time.

create

const { data, meta } = await clinik.appointmentResponses.create(request): Promise<ApiResponse<AppointmentResponse>>
FieldTypeRequiredDescription
appointmentIdstringYesThe appointment this response relates to
participantStatusstringYesaccepted, declined, tentative, needs-action
actorIdstringNoThe participant (Patient/Practitioner reference)
participantTypestringNoRole of participant
startstringNoProposed new start time
endstringNoProposed new end time
commentstringNoAdditional comments

Example

// Accept an appointment
const { data } = await clinik.appointmentResponses.create({
  appointmentId: 'appt_abc123',
  participantStatus: 'accepted',
  actorId: 'Practitioner/prac_def456',
  comment: 'Confirmed — see you then.',
});

// Propose a new time
const { data: counter } = await clinik.appointmentResponses.create({
  appointmentId: 'appt_abc123',
  participantStatus: 'tentative',
  actorId: 'Patient/pt_xyz789',
  start: '2025-02-03T10:00:00Z',
  end: '2025-02-03T10:30:00Z',
  comment: 'Can we move to Monday morning instead?',
});
Same pattern as other resources. Search supports appointmentId, actorId, participantStatus filters.