Skip to main content
Yosemite CrewDeveloper Docs

Chat API

On this page

Provides messaging: chat tokens, appointment-linked sessions, and organisation direct/group chats. Routes under /mobile are called by the mobile app (pet parents); routes under /pms are called by the PIMS (Practice Information Management System, the clinic-facing web app) and additionally manage group membership.

Endpoints

POST /mobile/token

  • Auth: requireMobileAuth
  • Controller: ChatController.generateToken

POST /mobile/appointments/:appointmentId

  • Auth: requireMobileAuth
  • Params: appointmentId
  • Controller: ChatController.ensureAppointmentSession

POST /mobile/sessions/:sessionId/open

  • Auth: requireMobileAuth
  • Params: sessionId
  • Controller: ChatController.openChat

GET /mobile/sessions

  • Auth: requireMobileAuth
  • Controller: ChatController.listMySessions

POST /pms/token

  • Auth: requireWebAuth
  • Controller: ChatController.generateTokenForPMS

POST /pms/appointments/:appointmentId

  • Auth: requireWebAuth
  • Params: appointmentId
  • Controller: ChatController.ensureAppointmentSession

POST /pms/org/direct

  • Auth: requireWebAuth
  • Controller: ChatController.createOrgDirectChat

POST /pms/org/group

  • Auth: requireWebAuth
  • Controller: ChatController.createOrgGroupChat

POST /pms/sessions/:sessionId/open

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.openChat

GET /pms/sessions/:organisationId

  • Auth: requireWebAuth
  • Params: organisationId
  • Controller: ChatController.listMySessions

POST /pms/sessions/:sessionId/close

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.closeSession

POST /pms/groups/:sessionId/members/add

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.addGroupMembers

POST /pms/groups/:sessionId/members/remove

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.removeGroupMembers

PATCH /pms/groups/:sessionId

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.updateGroup

DELETE /pms/groups/:sessionId

  • Auth: requireWebAuth
  • Params: sessionId
  • Controller: ChatController.deleteGroup