Files
mcp-tool/new-endpoints-definitions.js
nasir@endelospay.com 8c74b0e23f first
2025-07-11 20:22:12 +05:00

2187 lines
86 KiB
JavaScript

/**
* @fileoverview New API Endpoints from api-docs.json
* Generated endpoint definitions for Laravel Healthcare MCP Server
* Total: 184 endpoints
*/
import { ENDPOINT_CATEGORIES } from "./endpoints.js";
/**
* public endpoints (35 endpoints)
*/
export const NEW_PUBLIC_ENDPOINTS = [
{
path: "/room-joined/event",
method: "POST",
controller: "PostController@livekitWebhook",
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
description: "LiveKit webhook handler",
parameters: {
event: { type: "string", required: false, description: "room_started" },
room: { type: "object", required: false, description: "room parameter" },
egressInfo: { type: "object", required: false, description: "egressInfo parameter" },
},
},
{
path: "/room-joined/event-transcription",
method: "POST",
controller: "PostController@getRecordingUrl",
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
description: "Get recording URL",
parameters: {
egressInfo: { type: "object", required: false, description: "egressInfo parameter" },
},
},
{
path: "/api/check-user",
method: "POST",
controller: "Api\PostController@checkProvider",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Check if provider exists",
parameters: {
email: { type: "string", required: true, description: "provider@example.com" },
},
},
{
path: "/api/get-patient-summary/{patientId}",
method: "GET",
controller: "Api\GetController@getPatientSummary",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient summary",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/update-patient-summary/{patientId}",
method: "POST",
controller: "Api\PostController@updatePatientSummary",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Update patient summary",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
summary: { type: "string", required: true, description: "Patient summary text" },
},
},
{
path: "/api/generate-patient-summary/{patientId}",
method: "GET",
controller: "Api\GetController@generatePatientSummary",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Generate AI summary for patient",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-full-details/{patientId}",
method: "GET",
controller: "Api\GetController@getPatientFullDetails",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get comprehensive patient details",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-forms-list/{patientId}",
method: "GET",
controller: "Api\GetController@getPatientFormsList",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get patient forms list",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/download/pdf/{id}/{type}",
method: "GET",
controller: "Api\GetController@downloadPdfFile",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Download or view PDF file",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
type: { type: "string", required: true, description: "Action type (download or view)" },
},
},
{
path: "/emr-api/provider-register",
method: "POST",
controller: "EMRAPI\PostController@registerProvider",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Register a new provider",
parameters: {
firstName: { type: "string", required: true, description: "John" },
lastName: { type: "string", required: true, description: "Doe" },
username: { type: "string", required: true, description: "johndoe" },
emailAddress: { type: "string", required: true, description: "john.doe@example.com" },
textMessageNumber: { type: "string", required: true, description: "1234567890" },
newUserPassword: { type: "string", required: true, description: "Password123!" },
company_name: { type: "string", required: true, description: "Health Clinic" },
on_your_domain: { type: "boolean", required: true, description: "true" },
},
},
{
path: "/api/login",
method: "POST",
controller: "Api\PostController@adminPanelAuthenticate",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Authenticate admin panel users",
parameters: {
username: { type: "string", required: true, description: "admin" },
password: { type: "string", required: true, description: "password123" },
},
},
{
path: "/api/refresh-token",
method: "POST",
controller: "Api\PostController@refresh",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Refresh authentication token",
parameters: {
refresh_token: { type: "string", required: true, description: "eyJ0eXAiOiJKV1QiLCJhbGc..." },
},
},
{
path: "/api/login-patient",
method: "POST",
controller: "Api\PostController@loginPatient",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Patient login",
parameters: {
email: { type: "string", required: true, description: "patient@example.com" },
password: { type: "string", required: true, description: "password123" },
},
},
{
path: "/api/patient/login",
method: "POST",
controller: "Patient\PostController@loginPatientWithoutAuthAuth",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Patient login without authentication middleware",
parameters: {
email: { type: "string", required: true, description: "patient@example.com" },
password: { type: "string", required: true, description: "password123" },
},
},
{
path: "/api/set-password/{token}",
method: "POST",
controller: "Api\PostController@setPassword",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Set password for patient account",
parameters: {
token: { type: "string", required: true, description: "Password reset token" },
password: { type: "string", required: true, description: "newpassword123" },
password_confirmation: { type: "string", required: true, description: "newpassword123" },
},
},
{
path: "/api/register-patient",
method: "POST",
controller: "Api\PostController@registerPatientWithoutAuthAuth",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Register patient without authentication",
parameters: {
firstName: { type: "string", required: true, description: "John" },
lastName: { type: "string", required: true, description: "Doe" },
email: { type: "string", required: true, description: "john.doe@example.com" },
password: { type: "string", required: true, description: "password123" },
dateOfBirth: { type: "string", required: true, description: "1990-01-01" },
gender: { type: "string", required: true, description: "M" },
phone: { type: "string", required: true, description: "123-456-7890" },
username: { type: "string", required: true, description: "johndoe" },
provider_id: { type: "integer", required: true, description: "1" },
},
},
{
path: "/api/forgot-password",
method: "POST",
controller: "Api\PostController@forgotPassword",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Forgot password functionality",
parameters: {
email: { type: "string", required: true, description: "patient@example.com" },
},
},
{
path: "/api/password-reset",
method: "POST",
controller: "Api\PostController@resetPassword",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Reset password functionality",
parameters: {
token: { type: "string", required: true, description: "reset-token" },
email: { type: "string", required: true, description: "patient@example.com" },
password: { type: "string", required: true, description: "newpassword123" },
password_confirmation: { type: "string", required: true, description: "newpassword123" },
},
},
{
path: "/api/get/document/{userId}/{rowId}/{key}",
method: "GET",
controller: "Api\GetController@createPublicLink",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Create a public link to access a document",
parameters: {
userId: { type: "integer", required: true, description: "User ID" },
rowId: { type: "integer", required: true, description: "ID of the intake form record" },
key: { type: "string", required: true, description: "Key identifier for the document in the form data" },
},
},
{
path: "/api/get-form-without-auth/{id}",
method: "GET",
controller: "Api\GetController@getFormByIdwithouthAuth",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get form by ID without authentication",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
},
},
{
path: "/api/store-intake-form-data",
method: "POST",
controller: "Api\PostController@storeIntakeFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Store intake form data",
parameters: {
},
},
{
path: "/api/update-intake-form-data/{id}",
method: "POST",
controller: "Api\PostController@updatesIntakeFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Update intake form data",
parameters: {
id: { type: "integer", required: true, description: "Intake form record ID" },
},
},
{
path: "/api/get-signed-patient-data/{id}",
method: "GET",
controller: "Api\GetController@getSignedData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get signed patient form data",
parameters: {
id: { type: "integer", required: true, description: "Form submission ID" },
signature: { type: "string", required: true, description: "URL signature for validation" },
expires: { type: "integer", required: true, description: "URL expiration timestamp" },
},
},
{
path: "/api/get-pdf-url/{id}",
method: "GET",
controller: "Api\GetController@getPdfUrl",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get PDF URL",
parameters: {
id: { type: "integer", required: true, description: "Form submission ID" },
},
},
{
path: "/api/user-list-profile/{id}",
method: "GET",
controller: "Api\GetController@getUserProfileById",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get user profile by ID",
parameters: {
id: { type: "integer", required: true, description: "User ID" },
},
},
{
path: "/api/user/set-password/{token}",
method: "POST",
controller: "Api\PostController@setUserPassword",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Set user password",
parameters: {
token: { type: "string", required: true, description: "Password set token" },
password: { type: "string", required: true, description: "newpassword123" },
},
},
{
path: "/api/patient/refresh-token",
method: "POST",
controller: "Patient\PostController@refreshPatientToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Refresh patient authentication token",
parameters: {
refresh_token: { type: "string", required: true, description: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." },
},
},
{
path: "/api/register-patients",
method: "POST",
controller: "Api\PostController@registerPatientWithoutAuthPatient",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Register a new patient without authentication",
parameters: {
first_name: { type: "string", required: true, description: "John" },
last_name: { type: "string", required: true, description: "Doe" },
email: { type: "string", required: true, description: "john.doe@example.com" },
phone_no: { type: "string", required: true, description: "1234567890" },
dob: { type: "string", required: true, description: "1990-01-01" },
gender: { type: "string", required: true, description: "Male" },
provider_id: { type: "integer", required: true, description: "1" },
username: { type: "string", required: true, description: "johndoe" },
isportalAccess: { type: "boolean", required: true, description: "true" },
},
},
{
path: "/api/patient-login-api",
method: "POST",
controller: "Api\PostController@loginPatientWithoutAuthPatient",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Patient login without authentication",
parameters: {
email: { type: "string", required: true, description: "patient@example.com" },
password: { type: "string", required: true, description: "password123" },
},
},
{
path: "/api/patient-order-create",
method: "POST",
controller: "Api\PostController@patientOrderCreate",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Create a patient order",
parameters: {
patient_id: { type: "integer", required: true, description: "1" },
shipping_address1: { type: "string", required: true, description: "123 Main St" },
shipping_address2: { type: "string", required: true, description: "Apt 4B" },
shipping_city: { type: "string", required: true, description: "New York" },
shipping_state: { type: "string", required: true, description: "NY" },
shipping_zipcode: { type: "string", required: true, description: "10001" },
shipping_country: { type: "string", required: true, description: "USA" },
shipping_amount: { type: "number", required: true, description: "5.99" },
total_amount: { type: "number", required: true, description: "99.99" },
practitioner_fee: { type: "number", required: true, description: "50" },
affiliate_email: { type: "string", required: true, description: "affiliate@example.com" },
provider_id: { type: "integer", required: true, description: "1" },
appointment_id: { type: "integer", required: true, description: "123" },
pending_task: { type: "boolean", required: true, description: "pending_task parameter" },
builder_id: { type: "integer", required: true, description: "456" },
discount_amount: { type: "number", required: true, description: "10" },
coupon_code: { type: "string", required: true, description: "SAVE10" },
items: { type: "array", required: true, description: "items parameter" },
},
},
{
path: "/api/patient-book-appointment",
method: "POST",
controller: "Api\PostController@bookAppointmentPatient",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Book a patient appointment",
parameters: {
start_time: { type: "string", required: true, description: "2023-06-01T10:00:00" },
end_time: { type: "string", required: true, description: "2023-06-01T11:00:00" },
practitioner_id: { type: "integer", required: true, description: "1" },
notes: { type: "string", required: true, description: "Initial consultation" },
order_id: { type: "integer", required: true, description: "123" },
affiliate_email: { type: "string", required: true, description: "affiliate@example.com" },
},
},
{
path: "/api/redirect-with-auth/{pid}",
method: "GET",
controller: "Api\GetController@redirectWithAuth",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get authentication token for redirect",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/patient/available-slots/{date}",
method: "POST",
controller: "Patient\PostController@availableSlotsForPatient",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get available appointment slots for a specific date",
parameters: {
date: { type: "string", required: true, description: "Date in YYYY-MM-DD format" },
},
},
{
path: "/api/check-email",
method: "POST",
controller: "Api\PostController@checkEmail",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Check email availability",
parameters: {
email: { type: "string", required: true, description: "user@example.com" },
},
},
{
path: "/api/generate-permanent-token/{userId}",
method: "GET",
controller: "Api\GetController@generatePermanentToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Generate a permanent API token for a user",
parameters: {
userId: { type: "integer", required: true, description: "User ID" },
},
}
];
/**
* provider endpoints (147 endpoints)
*/
export const NEW_PROVIDER_ENDPOINTS = [
{
path: "/get-asseblyai-token",
method: "POST",
controller: "PostController@getAsseblyAiToekn",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "Get AssemblyAI token",
parameters: {
},
},
{
path: "/create-meeting/{meeting_id}",
method: "GET",
controller: "GetController@showMeeting",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "Show meeting details",
parameters: {
meeting_id: { type: "string", required: true, description: "Meeting ID" },
},
},
{
path: "/join-meeting/{meeting_id}",
method: "GET",
controller: "GetController@joinMeeting",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "Join a meeting",
parameters: {
meeting_id: { type: "string", required: true, description: "Meeting ID" },
},
},
{
path: "/api/start-call/{patient_id}/{agent_id}/{appointment_id}",
method: "POST",
controller: "Api\PostController@startCall",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "Start a call",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
agent_id: { type: "integer", required: true, description: "Agent ID" },
appointment_id: { type: "integer", required: true, description: "Appointment ID" },
title: { type: "string", required: false, description: "Consultation call" },
},
},
{
path: "/get-realtime-questions/{appointmentId}",
method: "GET",
controller: "GetController@getRealtimeQuestions",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "Get real-time questions",
parameters: {
appointmentId: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/end-call/{patient_id}/{appointment_id}",
method: "POST",
controller: "Api\PostController@endCall",
category: ENDPOINT_CATEGORIES.MEETINGS,
description: "End a call",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
appointment_id: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/labs/search",
method: "POST",
controller: "Api\PostController@searchLabsByAddress",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Search labs by address",
parameters: {
address: { type: "string", required: true, description: "123 Main St" },
},
},
{
path: "/api/book-appointment",
method: "POST",
controller: "Api\PostController@bookAgentAppointment",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Book an appointment",
parameters: {
telemed_pros_id: { type: "integer", required: true, description: "1" },
patient_id: { type: "integer", required: true, description: "1" },
doctor_id: { type: "integer", required: true, description: "1" },
appointment_id: { type: "integer", required: true, description: "1" },
appointment_time: { type: "string", required: true, description: "2023-06-15 14:30:00" },
},
},
{
path: "/api/update-patient-info/{patientId}",
method: "POST",
controller: "Api\PostController@updateInfo",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Update patient information",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
city: { type: "string", required: true, description: "New York" },
state: { type: "string", required: true, description: "NY" },
address: { type: "string", required: true, description: "123 Main St" },
zip_code: { type: "string", required: true, description: "10001" },
dob: { type: "string", required: true, description: "1990-01-01" },
country: { type: "string", required: true, description: "USA" },
},
},
{
path: "/api/get-patient-info/{patientId}",
method: "POST",
controller: "Api\PostController@getInfo",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient information",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-doctors-list",
method: "POST",
controller: "Api\PostController@getDoctorList",
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
description: "Get doctors list",
parameters: {
},
},
{
path: "/api/get-appointment-list",
method: "POST",
controller: "Api\PostController@getAppointmentList",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointments list",
parameters: {
},
},
{
path: "/api/get-doctors-appointment-list",
method: "POST",
controller: "Api\PostController@getDoctorAppointmentList",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get doctor appointments list",
parameters: {
},
},
{
path: "/api/available-slots/{date}",
method: "POST",
controller: "Api\PostController@availableSlots",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get available appointment slots",
parameters: {
date: { type: "string", required: true, description: "Date (YYYY-MM-DD)" },
},
},
{
path: "/api/appointment-detail/{appointment}",
method: "POST",
controller: "Api\PostController@appointmentDetail",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment details",
parameters: {
appointment: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/lab-detail/{appointment}",
method: "GET",
controller: "Api\GetController@labDetail",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get lab details for an appointment",
parameters: {
appointment: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/add-note-patient",
method: "POST",
controller: "Api\PostController@addNotePatient",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Add a note for patient",
parameters: {
note: { type: "string", required: true, description: "Follow-up required in 2 weeks" },
note_type: { type: "string", required: true, description: "medical" },
},
},
{
path: "/api/get-note-patient",
method: "GET",
controller: "Api\GetController@getNotePatient",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get patient notes",
parameters: {
},
},
{
path: "/appointment-status/{id}/{status}",
method: "PUT",
controller: "PutController@updateAppointmentStatus",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Update appointment status",
parameters: {
id: { type: "integer", required: true, description: "Appointment ID" },
status: { type: "string", required: true, description: "New status for the appointment" },
},
},
{
path: "/api/patient-data/{id}",
method: "GET",
controller: "Api\GetController@getAssistantPatientData",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient data",
parameters: {
id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-forms-list/{pid}",
method: "GET",
controller: "Api\GetController@getPatientIntakeSimpleFormList",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get patient intake simple forms list",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-all-forms",
method: "GET",
controller: "Api\GetController@getAllForms",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get all forms",
parameters: {
},
},
{
path: "/api/get-prescription-list/{patient_id}",
method: "GET",
controller: "Api\GetController@getPrescriptionList",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient prescription list",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/assistant/store-intake-form-data",
method: "POST",
controller: "Assistant\PostController@storeAssistantIntakeFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Store intake form data",
parameters: {
},
},
{
path: "/api/assistant/store-form",
method: "POST",
controller: "Assistant\PostController@assistantFormDataStore",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Store form data",
parameters: {
type: { type: "string", required: true, description: "consent-forms" },
data: { type: "object", required: true, description: "Form structure and fields" },
name: { type: "string", required: true, description: "Patient Consent Form" },
},
},
{
path: "/api/store-company",
method: "POST",
controller: "Api\PostController@updateCompanyAssistant",
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
description: "Update company information",
parameters: {
},
},
{
path: "/api/assistant/update-form/{id}",
method: "PUT",
controller: "Assistant\PutController@updateAssistantForm",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Update form",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
type: { type: "string", required: true, description: "consent-forms" },
data: { type: "object", required: true, description: "Form structure and fields" },
name: { type: "string", required: true, description: "Updated Patient Consent Form" },
},
},
{
path: "/api/save-category",
method: "POST",
controller: "Api\PostController@storeCategory",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Store product category",
parameters: {
name: { type: "string", required: true, description: "Supplements" },
description: { type: "string", required: true, description: "Nutritional supplements and vitamins" },
},
},
{
path: "/api/update-category/{id}",
method: "POST",
controller: "Api\PostController@updateCategory",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Update product category",
parameters: {
id: { type: "integer", required: true, description: "Category ID" },
name: { type: "string", required: true, description: "Updated Supplements" },
description: { type: "string", required: true, description: "Updated description" },
},
},
{
path: "/api/save-product",
method: "POST",
controller: "Api\PostController@assistantSaveProduct",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Save product",
parameters: {
name: { type: "string", required: true, description: "Vitamin D3" },
description: { type: "string", required: true, description: "Vitamin D3 supplement" },
price: { type: "number", required: true, description: "19.99" },
category_id: { type: "integer", required: true, description: "1" },
sku: { type: "string", required: true, description: "VIT-D3-1000" },
stock_quantity: { type: "integer", required: true, description: "100" },
},
},
{
path: "/api/update-product/{id}",
method: "POST",
controller: "Api\PostController@updateProduct",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Update product",
parameters: {
id: { type: "integer", required: true, description: "Product ID" },
name: { type: "string", required: true, description: "Updated Vitamin D3" },
description: { type: "string", required: true, description: "Updated description" },
price: { type: "number", required: true, description: "24.99" },
category_id: { type: "integer", required: true, description: "1" },
sku: { type: "string", required: true, description: "VIT-D3-1000-UPD" },
stock_quantity: { type: "integer", required: true, description: "150" },
},
},
{
path: "/api/assistant/save-signature",
method: "POST",
controller: "Assistant\PostController@assistantStoreSignature",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Store signature",
parameters: {
signature_data: { type: "string", required: true, description: "Base64 encoded signature image" },
provider_id: { type: "integer", required: true, description: "1" },
},
},
{
path: "/api/save-payment-method",
method: "POST",
controller: "Api\PostController@storePaymentMethodConfigAssistant",
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
description: "Store payment method configuration",
parameters: {
payment_method: { type: "string", required: true, description: "stripe" },
api_key: { type: "string", required: true, description: "api_key parameter" },
secret_key: { type: "string", required: true, description: "secret_key parameter" },
is_active: { type: "boolean", required: true, description: "is_active parameter" },
},
},
{
path: "/api/company/complete/setup/{status}",
method: "PUT",
controller: "Api\PutController@completeSetupAssistant",
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
description: "Complete company setup",
parameters: {
status: { type: "string", required: true, description: "Setup status (complete or incomplete)" },
},
},
{
path: "/api/get-appointment-list-date",
method: "POST",
controller: "Api\PostController@getAppointmentListByDate",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment list by date",
parameters: {
date: { type: "string", required: true, description: "2023-07-01" },
practitioner_id: { type: "integer", required: true, description: "1" },
},
},
{
path: "/api/get-appointment-by-id",
method: "POST",
controller: "Api\PostController@getAppointmentByID",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment by ID",
parameters: {
appointment_id: { type: "integer", required: true, description: "123" },
},
},
{
path: "/api/update-intake-form-data",
method: "POST",
controller: "Api\PostController@updateIntakeFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Update intake form data",
parameters: {
form_id: { type: "integer", required: true, description: "1" },
pid: { type: "integer", required: true, description: "123" },
data: { type: "object", required: true, description: "data parameter" },
},
},
{
path: "/api/form-pdf-save",
method: "POST",
controller: "Api\PostController@saveFormFile",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Save form file",
parameters: {
form_id: { type: "integer", required: true, description: "1" },
pdf_data: { type: "string", required: true, description: "Base64 encoded PDF data" },
},
},
{
path: "/api/provider-add-availability",
method: "POST",
controller: "Api\PostController@storeProviderAvailability",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Store provider availability",
parameters: {
title: { type: "string", required: true, description: "Available" },
start: { type: "string", required: true, description: "2023-07-01T09:00:00" },
end: { type: "string", required: true, description: "2023-07-01T17:00:00" },
type: { type: "string", required: true, description: "availability or event" },
comment: { type: "string", required: true, description: "comment parameter" },
practitioner_id: { type: "integer", required: true, description: "1" },
},
},
{
path: "/api/assistant/practitioners-list",
method: "GET",
controller: "Assistant\GetController@assistantPractitioner",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get practitioners list via assistant",
parameters: {
},
},
{
path: "/save-payment-method",
method: "POST",
controller: "PostController@storePaymentMethodConfigProvider",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Save payment method configuration",
parameters: {
name: { type: "string", required: true, description: "Stripe" },
config: { type: "object", required: true, description: "[object Object]" },
},
},
{
path: "/emr-api/provider-wizard-setup",
method: "GET",
controller: "EMRAPI\GetController@getCounts",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get provider setup counts",
parameters: {
},
},
{
path: "/emr-api/company/complete/setup/{status}",
method: "PUT",
controller: "EMRAPI\PutController@completeSetup",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Complete provider setup",
parameters: {
status: { type: "integer", required: true, description: "Setup status (1 for complete, 0 for incomplete)" },
},
},
{
path: "/emr-api/company/status",
method: "GET",
controller: "EMRAPI\GetController@getCompanyStatus",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Get company status",
parameters: {
},
},
{
path: "/emr-api/store-company",
method: "POST",
controller: "EMRAPI\PostController@updateCompany",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Update company information",
parameters: {
},
},
{
path: "/emr-api/get-company",
method: "GET",
controller: "EMRAPI\GetController@getCompany",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Get company information",
parameters: {
},
},
{
path: "/api/save-signature",
method: "POST",
controller: "Api\PostController@storeSignature",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Save provider signature",
parameters: {
signature: { type: "string", required: true, description: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
},
},
{
path: "/api/provider/practitioners-list",
method: "GET",
controller: "Provider\GetController@providerPractitioner",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get practitioners list",
parameters: {
},
},
{
path: "/api/provider/auth/logout",
method: "POST",
controller: "Provider\PostController@logout",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Logout provider",
parameters: {
},
},
{
path: "/api/emr/appointment/{id}/cancel",
method: "POST",
controller: "EMRAPI\PostController@cancelAppointment",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Cancel an appointment",
parameters: {
id: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/emr/appointment/{appointment_id}/order",
method: "GET",
controller: "EMRAPI\GetController@getAppointmentOrder",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment order details",
parameters: {
appointment_id: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/emr/appointment/list-by-date",
method: "GET",
controller: "EMRAPI\GetController@getAppointmentListByDateProvider",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointments by date range",
parameters: {
start_date: { type: "string", required: true, description: "Start date (YYYY-MM-DD)" },
end_date: { type: "string", required: true, description: "End date (YYYY-MM-DD)" },
},
},
{
path: "/api/emr/appointment/transcribe/{patient_id}",
method: "GET",
controller: "EMRAPI\GetController@getAppointmentTranscribe",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment transcriptions",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/emr/appointment/patient/{patient_id}/list",
method: "GET",
controller: "EMRAPI\GetController@getPatientApptList",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get patient appointment list",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/emr/appointment/{appointment}/detail",
method: "GET",
controller: "EMRAPI\GetController@getAppointmentDetailUnique",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment details",
parameters: {
appointment: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/emr/appointment/queue/{patientId}",
method: "POST",
controller: "EMRAPI\PostController@addPatientToQueue",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Add patient to queue",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/emr/appointment/doctor/patient/{patientId}",
method: "GET",
controller: "EMRAPI\GetController@getDoctorAppointmentsByPatientId",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get doctor appointments by patient ID",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/emr/appointment/patient/carts-items",
method: "GET",
controller: "EMRAPI\GetController@getPatientAppointmentsWithCartsAndItems",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get patient appointments with carts and items",
parameters: {
},
},
{
path: "/api/emr/appointment/report/last-30-days",
method: "GET",
controller: "EMRAPI\GetController@last30DaysAppointmentsData",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get appointment data for last 30 days",
parameters: {
start_date: { type: "string", required: true, description: "Start date (YYYY-MM-DD)" },
end_date: { type: "string", required: true, description: "End date (YYYY-MM-DD)" },
provider: { type: "string", required: false, description: "Provider ID or 'all' for all providers" },
},
},
{
path: "/api/emr/appointment/agent/{appointment}",
method: "GET",
controller: "EMRAPI\GetController@getAgentAppointment",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Get agent appointment details",
parameters: {
appointment: { type: "integer", required: true, description: "Appointment ID" },
},
},
{
path: "/api/emr/appointment/{appointment}/update-meeting-analysis",
method: "POST",
controller: "EMRAPI\PostController@updateMeetingAnalysis",
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
description: "Update meeting analysis",
parameters: {
appointment: { type: "integer", required: true, description: "Appointment ID" },
data: { type: "object", required: true, description: "Meeting analytics data" },
},
},
{
path: "/api/document/download/{rowId}/{key}",
method: "GET",
controller: "Api\GetController@downloadDocument",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Download a patient document",
parameters: {
rowId: { type: "integer", required: true, description: "ID of the intake form record" },
key: { type: "string", required: true, description: "Key identifier for the document in the form data" },
},
},
{
path: "/api/render/pdf/{rowId}",
method: "GET",
controller: "Api\GetController@renderPdf",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Render a PDF document",
parameters: {
rowId: { type: "integer", required: true, description: "ID of the intake form record" },
},
},
{
path: "/api/add-email/{patient_id}",
method: "POST",
controller: "Api\PostController@addEmail",
category: ENDPOINT_CATEGORIES.MESSAGING,
description: "Add a new email for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
practitioner: { type: "integer", required: true, description: "User ID of the practitioner" },
messageText: { type: "string", required: true, description: "This is the email body text" },
to_email: { type: "string", required: true, description: "patient@example.com" },
from_email: { type: "string", required: true, description: "doctor@healthguruhub.com" },
emailTemplate: { type: "string", required: true, description: "Template name used for the email" },
subject: { type: "string", required: true, description: "Your upcoming appointment" },
},
},
{
path: "/api/get-email-list/{patient_id}",
method: "GET",
controller: "Api\GetController@getEmailList",
category: ENDPOINT_CATEGORIES.MESSAGING,
description: "Get email list for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
draw: { type: "integer", required: false, description: "DataTables draw counter" },
start: { type: "integer", required: false, description: "DataTables start offset" },
length: { type: "integer", required: false, description: "DataTables page length" },
search[value]: { type: "string", required: false, description: "DataTables search value" },
order[0][column]: { type: "integer", required: false, description: "DataTables column index for ordering" },
order[0][dir]: { type: "string", required: false, description: "DataTables order direction (asc/desc)" },
},
},
{
path: "/api/get-email/{id}",
method: "GET",
controller: "Api\GetController@getEmailById",
category: ENDPOINT_CATEGORIES.MESSAGING,
description: "Get an email by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the email to retrieve" },
},
},
{
path: "/api/get-forms/{type}",
method: "GET",
controller: "Api\GetController@getForms",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get forms by type",
parameters: {
type: { type: "string", required: true, description: "Form type (simple-forms, consent-forms, charting-forms, etc.)" },
},
},
{
path: "/api/get-form/{id}",
method: "GET",
controller: "Api\GetController@getFormById",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get form by ID",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
},
},
{
path: "/api/update-form/{id}",
method: "PUT",
controller: "Api\PutController@updateForm",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Update form",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
type: { type: "string", required: true, description: "Form type (simple-forms, consent-forms, charting-forms, etc.)" },
data: { type: "object", required: true, description: "Form structure and fields" },
name: { type: "string", required: true, description: "Updated Patient Intake Form" },
},
},
{
path: "/api/delete-form/{id}",
method: "DELETE",
controller: "Api\DeleteController@deleteForm",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Delete form",
parameters: {
id: { type: "integer", required: true, description: "Form ID" },
},
},
{
path: "/api/get-patient-intake-form-data/{form_id}/{pid}/{rowId}",
method: "GET",
controller: "Api\GetController@getIntakeFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get patient intake form data",
parameters: {
form_id: { type: "integer", required: true, description: "Form ID" },
pid: { type: "integer", required: true, description: "Patient ID" },
rowId: { type: "integer", required: true, description: "Row ID of the specific form submission" },
},
},
{
path: "/api/get-patient-intake-form-latest-data/{form_id}/{pid}",
method: "GET",
controller: "Api\GetController@getIntakeFormLatestData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get latest intake form data",
parameters: {
form_id: { type: "integer", required: true, description: "Form ID" },
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-submitted-intake-forms/{pid}",
method: "GET",
controller: "Api\GetController@getMergedFormData",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get all submitted forms for a patient",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-intake-form-list/{type}/{pid}",
method: "GET",
controller: "Api\GetController@getPatientIntakeFormList",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get patient intake forms by type",
parameters: {
type: { type: "string", required: true, description: "Form type (simple-forms, consent-forms, charting-forms, etc.)" },
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/update-form-status",
method: "PUT",
controller: "Api\PutController@updateFormRequestStatus",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Update form request status",
parameters: {
form_id: { type: "integer", required: true, description: "1" },
patient_id: { type: "integer", required: true, description: "2" },
status: { type: "string", required: true, description: "completed" },
},
},
{
path: "/api/get-intake-forms-list",
method: "GET",
controller: "Api\GetController@getIntakeFormList",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get intake forms list",
parameters: {
},
},
{
path: "/api/store-patient-consent-form",
method: "POST",
controller: "Api\PostController@storePatientConsentForm",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Store patient consent form",
parameters: {
form_id: { type: "integer", required: true, description: "1" },
pid: { type: "integer", required: true, description: "2" },
data: { type: "object", required: true, description: "data parameter" },
name: { type: "string", required: true, description: "John Doe" },
signature: { type: "string", required: true, description: "base64encoded-signature-data" },
},
},
{
path: "/api/store-form",
method: "POST",
controller: "Api\PostController@formDataStore",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Store a new form",
parameters: {
type: { type: "string", required: true, description: "Form type (simple-forms, consent-forms, charting-forms, etc.)" },
data: { type: "object", required: true, description: "Form structure and fields" },
name: { type: "string", required: true, description: "New Patient Intake Form" },
},
},
{
path: "/api/delete-intake-question/{form_id}",
method: "DELETE",
controller: "Api\DeleteController@deleteIntakeQuestionById",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Delete intake question",
parameters: {
form_id: { type: "integer", required: true, description: "Intake question ID" },
},
},
{
path: "/api/get-intake-forms-data/{form_id}",
method: "GET",
controller: "Api\GetController@getQuestionFormIntakeById",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get intake form data by ID",
parameters: {
form_id: { type: "integer", required: true, description: "Form ID" },
},
},
{
path: "/api/get-document-vue/{patient_id}",
method: "GET",
controller: "Api\GetController@getDocumentVue",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get documents for Vue component",
parameters: {
patient_id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-forms/{pid}",
method: "GET",
controller: "Api\GetController@getPatientFormList",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get all forms for a patient",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-patient-questionnaire-form-list/{pid}",
method: "GET",
controller: "Api\GetController@getPatientQuestionairForm",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get patient questionnaire forms",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-questioner-forms-data/{form_id}",
method: "GET",
controller: "Api\GetController@getQuestionFormQuestionerById",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get questionnaire form data",
parameters: {
form_id: { type: "integer", required: true, description: "Form ID" },
},
},
{
path: "/api/get-questioner-question/{id}",
method: "GET",
controller: "Api\GetController@getQuestionQuestionerById",
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
description: "Get questionnaire question by ID",
parameters: {
id: { type: "integer", required: true, description: "Question ID" },
},
},
{
path: "/get-insurance/{patientId}",
method: "GET",
controller: "GetController@getInsurance",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get insurance information for a patient",
parameters: {
patientId: { type: "integer", required: true, description: "ID of the patient" },
},
},
{
path: "/store-insurance/{patientId}",
method: "POST",
controller: "PostController@insuranceStore",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Store insurance information for a patient",
parameters: {
patientId: { type: "integer", required: true, description: "ID of the patient" },
insurance: { type: "string", required: true, description: "Blue Cross" },
insuredPlanOrProgramName: { type: "string", required: true, description: "Blue Cross PPO" },
insuredIDNumber: { type: "string", required: true, description: "BC123456" },
insuredGroupNameNo: { type: "string", required: true, description: "GRP123" },
employersSchoolName: { type: "string", required: true, description: "ABC Company" },
relationshiptoInsured: { type: "string", required: true, description: "Self" },
insuredName: { type: "string", required: true, description: "John Doe" },
insuredDateOfBirth: { type: "string", required: true, description: "1980-01-01" },
insuredGender: { type: "string", required: true, description: "M" },
coPayment: { type: "number", required: true, description: "20" },
coInsurance: { type: "number", required: true, description: "20" },
insuranceDeductible: { type: "number", required: true, description: "500" },
insuredAddress: { type: "string", required: true, description: "123 Main St" },
insuredCity: { type: "string", required: true, description: "Anytown" },
insuredState: { type: "string", required: true, description: "CA" },
insuredZip: { type: "string", required: true, description: "12345" },
insuredPhone: { type: "string", required: true, description: "555-123-4567" },
payerName: { type: "string", required: true, description: "John Doe" },
payerID: { type: "string", required: true, description: "PAY123" },
payerAddress: { type: "string", required: true, description: "456 Payer St" },
payerCity: { type: "string", required: true, description: "Payertown" },
payerState: { type: "string", required: true, description: "CA" },
payerZip: { type: "string", required: true, description: "54321" },
referringProviderName: { type: "string", required: true, description: "Dr. Jane Smith" },
referringProviderNPI: { type: "string", required: true, description: "1234567890" },
referringProviderTaxonomy: { type: "string", required: true, description: "207Q00000X" },
type: { type: "string", required: true, description: "primary" },
},
},
{
path: "/update-insurance/{patientId}",
method: "PUT",
controller: "PutController@updateInsurance",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Update insurance information for a patient",
parameters: {
patientId: { type: "integer", required: true, description: "ID of the patient" },
insuredPlanOrProgramName: { type: "string", required: true, description: "Blue Cross PPO" },
insuredIDNumber: { type: "string", required: true, description: "BC123456" },
insuredGroupNameNo: { type: "string", required: true, description: "GRP123" },
relationshiptoInsured: { type: "string", required: true, description: "Self" },
insuredDateOfBirth: { type: "string", required: true, description: "1980-01-01" },
insuredAddress: { type: "string", required: true, description: "123 Main St" },
insuredCity: { type: "string", required: true, description: "Anytown" },
insuredState: { type: "string", required: true, description: "CA" },
insuredZip: { type: "string", required: true, description: "12345" },
insuredPhone: { type: "string", required: true, description: "555-123-4567" },
payerName: { type: "string", required: true, description: "John Doe" },
coPayment: { type: "number", required: true, description: "20" },
type: { type: "string", required: true, description: "primary" },
},
},
{
path: "/inventory",
method: "GET",
controller: "GetController@listInventoryItems",
category: ENDPOINT_CATEGORIES.INVENTORY,
description: "Get inventory list",
parameters: {
},
},
{
path: "/get-inventory/{id}",
method: "GET",
controller: "GetController@getInventoryItemById",
category: ENDPOINT_CATEGORIES.INVENTORY,
description: "Get inventory item by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the inventory item" },
},
},
{
path: "/add-inventory",
method: "POST",
controller: "PostController@createInventoryItem",
category: ENDPOINT_CATEGORIES.INVENTORY,
description: "Add new inventory item",
parameters: {
inventoryType: { type: "string", required: true, description: "Medication" },
item_name: { type: "string", required: true, description: "Aspirin 325mg" },
price: { type: "number", required: true, description: "10.99" },
expirationDate: { type: "string", required: true, description: "2023-12-31" },
},
},
{
path: "/update-inventory/{id}",
method: "PUT",
controller: "PutController@updateInventoryItem",
category: ENDPOINT_CATEGORIES.INVENTORY,
description: "Update inventory item",
parameters: {
id: { type: "integer", required: true, description: "ID of the inventory item to update" },
inventoryType: { type: "string", required: true, description: "Medication" },
item_name: { type: "string", required: true, description: "Aspirin 325mg" },
price: { type: "number", required: true, description: "10.99" },
expirationDate: { type: "string", required: true, description: "2023-12-31" },
},
},
{
path: "/delete-inventory/{id}",
method: "DELETE",
controller: "DeleteController@deleteInventoryItem",
category: ENDPOINT_CATEGORIES.INVENTORY,
description: "Delete inventory item",
parameters: {
id: { type: "integer", required: true, description: "ID of the inventory item to delete" },
},
},
{
path: "/api/locations",
method: "GET",
controller: "Api\GetController@getLocations",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Get all locations",
parameters: {
draw: { type: "integer", required: false, description: "DataTables draw counter" },
start: { type: "integer", required: false, description: "DataTables start offset" },
length: { type: "integer", required: false, description: "DataTables page length" },
search[value]: { type: "string", required: false, description: "DataTables search value" },
order[0][column]: { type: "integer", required: false, description: "DataTables column index for ordering" },
order[0][dir]: { type: "string", required: false, description: "DataTables order direction (asc/desc)" },
},
},
{
path: "/api/location/{id}",
method: "GET",
controller: "Api\GetController@getLocationById",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Get a location by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the location to retrieve" },
},
},
{
path: "/api/get-location/{uuid}",
method: "GET",
controller: "Api\GetController@getLocationByUuid",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Get a location by UUID",
parameters: {
uuid: { type: "string", required: true, description: "UUID of the location to retrieve" },
},
},
{
path: "/api/add-location",
method: "POST",
controller: "Api\PostController@addLocation",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Add a new location",
parameters: {
name: { type: "string", required: true, description: "Main Clinic" },
npiNumber: { type: "string", required: true, description: "1234567890" },
phoneNumber: { type: "string", required: true, description: "(123) 456-7890" },
address: { type: "string", required: true, description: "123 Main St" },
city: { type: "string", required: true, description: "New York" },
state: { type: "string", required: true, description: "NY" },
zipcode: { type: "string", required: true, description: "10001" },
country: { type: "string", required: true, description: "US" },
},
},
{
path: "/api/update-location/{id}",
method: "PUT",
controller: "Api\PutController@updateLocation",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Update a location by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the location to update" },
name: { type: "string", required: true, description: "Updated Clinic Name" },
npiNumber: { type: "string", required: true, description: "1234567890" },
phoneNumber: { type: "string", required: true, description: "(123) 456-7890" },
address: { type: "string", required: true, description: "123 Main St" },
city: { type: "string", required: true, description: "New York" },
state: { type: "string", required: true, description: "NY" },
zipcode: { type: "string", required: true, description: "10001" },
country: { type: "string", required: true, description: "US" },
},
},
{
path: "/api/update-location/{uuid}",
method: "PUT",
controller: "Api\PutController@updateLocationByUuid",
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
description: "Update a location by UUID",
parameters: {
uuid: { type: "string", required: true, description: "UUID of the location to update" },
name: { type: "string", required: true, description: "Updated Clinic Name" },
npiNumber: { type: "string", required: true, description: "1234567890" },
phoneNumber: { type: "string", required: true, description: "(123) 456-7890" },
address: { type: "string", required: true, description: "123 Main St" },
city: { type: "string", required: true, description: "New York" },
state: { type: "string", required: true, description: "NY" },
zipcode: { type: "string", required: true, description: "10001" },
country: { type: "string", required: true, description: "US" },
},
},
{
path: "/api/medical-problems-store/{pid}",
method: "POST",
controller: "Api\PostController@storeMedicalProblem",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Add a new medical problem for a patient",
parameters: {
pid: { type: "integer", required: true, description: "ID of the patient" },
name: { type: "string", required: true, description: "Hypertension" },
lastDate: { type: "string", required: true, description: "2025-06-01" },
nextDate: { type: "string", required: true, description: "2025-09-01" },
screeningDetails: { type: "string", required: true, description: "Patient has stage 1 hypertension" },
flag: { type: "string", required: true, description: "Status flag for the medical problem" },
typeOfItem: { type: "string", required: true, description: "Type of medical problem" },
},
},
{
path: "/api/medical-problems-update/{id}",
method: "PUT",
controller: "Api\PutController@updateMedicalProblemRecord",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Update an existing medical problem",
parameters: {
id: { type: "integer", required: true, description: "ID of the medical problem to update" },
name: { type: "string", required: true, description: "Updated Hypertension" },
lastDate: { type: "string", required: true, description: "2025-06-15" },
nextDate: { type: "string", required: true, description: "2025-09-15" },
screeningDetails: { type: "string", required: true, description: "Patient has controlled stage 1 hypertension" },
flag: { type: "string", required: true, description: "Status flag for the medical problem" },
typeOfItem: { type: "string", required: true, description: "Type of medical problem" },
medical_problem_id: { type: "integer", required: true, description: "ID of the medical problem" },
},
},
{
path: "/api/medical-problem/{id}",
method: "GET",
controller: "Api\GetController@getMedicalProblemById",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get a medical problem by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the medical problem to retrieve" },
},
},
{
path: "/add-phone-log/{patient_id}",
method: "POST",
controller: "PostController@addPhoneLog",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Add a new phone log for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
provider: { type: "string", required: true, description: "Name of the provider who made/received the call" },
message: { type: "string", required: true, description: "Details about the phone call" },
user_id: { type: "integer", required: true, description: "ID of the user who logged the call" },
},
},
{
path: "/phone-log-list/{patient_id}",
method: "GET",
controller: "GetController@getPhoneLogList",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get phone logs for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
draw: { type: "integer", required: false, description: "Draw counter for DataTables" },
start: { type: "integer", required: false, description: "Paging first record indicator for DataTables" },
length: { type: "integer", required: false, description: "Number of records per page for DataTables" },
},
},
{
path: "/api/plans-product-sync",
method: "POST",
controller: "Api\PostController@syncProducts",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Save multiple products",
parameters: {
builder_id: { type: "string", required: true, description: "Base64 encoded builder ID" },
products: { type: "array", required: true, description: "products parameter" },
},
},
{
path: "/api/plans-product-update",
method: "POST",
controller: "Api\PostController@updateOnPublish",
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
description: "Update product on publish",
parameters: {
builder_id: { type: "string", required: true, description: "Base64 encoded builder ID" },
product_id: { type: "integer", required: true, description: "123" },
product_name: { type: "string", required: true, description: "Test Product" },
product_price: { type: "number", required: true, description: "29.99" },
product_slug: { type: "string", required: true, description: "test-product" },
product_category: { type: "object", required: true, description: "product_category parameter" },
product_variation: { type: "array", required: true, description: "product_variation parameter" },
},
},
{
path: "/tags/store/{pid}",
method: "POST",
controller: "PostController@storeTags",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Store tags for a patient",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
tags: { type: "array", required: true, description: "Array of tag names to be associated with the patient" },
},
},
{
path: "/store-tags/{patientId}",
method: "POST",
controller: "PostController@storeTagsAlternate",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Store tags for a patient (alternate endpoint)",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
tags: { type: "array", required: true, description: "Array of tag names to be associated with the patient" },
},
},
{
path: "/tags/list/{pid}",
method: "GET",
controller: "GetController@getTags",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get tags for a patient",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/add-task/{patient_id}",
method: "POST",
controller: "Api\PostController@addTask",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Add a new task for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
task_title: { type: "string", required: true, description: "Complete blood work" },
task_body: { type: "string", required: true, description: "Patient needs to complete blood work at local lab" },
task_due_date: { type: "string", required: true, description: "2025-07-10 10:00:00" },
task_assigned_to: { type: "integer", required: true, description: "5" },
task_watchers: { type: "array", required: true, description: "1,2" },
sendEmailtoPatientApplicationForTask: { type: "boolean", required: true, description: "true" },
task_priority: { type: "string", required: true, description: "normal" },
task_status: { type: "string", required: true, description: "pending" },
},
},
{
path: "/api/update-task/{task_id}",
method: "PUT",
controller: "Api\PutController@updateTask",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Update an existing task",
parameters: {
task_id: { type: "integer", required: true, description: "ID of the task to update" },
task_title: { type: "string", required: true, description: "Updated blood work" },
task_body: { type: "string", required: true, description: "Patient needs to complete updated blood work at local lab" },
task_due_date: { type: "string", required: true, description: "2025-07-15 10:00:00" },
task_assigned_to: { type: "integer", required: true, description: "5" },
task_watchers: { type: "array", required: true, description: "1,2,3" },
sendEmailtoPatientApplicationForTask: { type: "boolean", required: true, description: "sendEmailtoPatientApplicationForTask parameter" },
task_priority: { type: "string", required: true, description: "high" },
task_status: { type: "string", required: true, description: "in_progress" },
},
},
{
path: "/api/task/{id}",
method: "GET",
controller: "Api\GetController@getOneTaskById",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get a task by ID",
parameters: {
id: { type: "integer", required: true, description: "ID of the task to retrieve" },
},
},
{
path: "/api/tasks/{patient_id}",
method: "GET",
controller: "Api\GetController@getTasks",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get all tasks for a patient",
parameters: {
patient_id: { type: "integer", required: true, description: "ID of the patient" },
draw: { type: "integer", required: false, description: "DataTables draw counter" },
start: { type: "integer", required: false, description: "DataTables start offset" },
length: { type: "integer", required: false, description: "DataTables page length" },
search[value]: { type: "string", required: false, description: "DataTables search value" },
order[0][column]: { type: "integer", required: false, description: "DataTables column index for ordering" },
order[0][dir]: { type: "string", required: false, description: "DataTables order direction (asc/desc)" },
},
},
{
path: "/api/user-list",
method: "GET",
controller: "Api\GetController@getUserList",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get list of users",
parameters: {
},
},
{
path: "/api/user-list/{id}",
method: "GET",
controller: "Api\GetController@getUserById",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get user by ID",
parameters: {
id: { type: "integer", required: true, description: "User ID" },
},
},
{
path: "/api/update-user/{id}",
method: "POST",
controller: "Api\PostController@updateUser",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Update user",
parameters: {
id: { type: "integer", required: true, description: "User ID" },
firstName: { type: "string", required: true, description: "John" },
lastName: { type: "string", required: true, description: "Doe" },
textMessageNumber: { type: "string", required: true, description: "123-456-7890" },
timezone: { type: "string", required: true, description: "UTC" },
dateOfBirth: { type: "string", required: true, description: "1990-01-01" },
gender: { type: "string", required: true, description: "M" },
city: { type: "string", required: true, description: "New York" },
state: { type: "string", required: true, description: "NY" },
zipcode: { type: "string", required: true, description: "10001" },
type: { type: "string", required: true, description: "practitioner" },
role_id: { type: "string", required: true, description: "1" },
username: { type: "string", required: true, description: "johndoe" },
newUserPassword: { type: "string", required: true, description: "newpassword123" },
},
},
{
path: "/api/user/create",
method: "POST",
controller: "Api\PostController@createUserFromAdmin",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Create new user from admin",
parameters: {
},
},
{
path: "/api/add-user",
method: "POST",
controller: "Api\PostController@addUser",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Add new user (legacy method)",
parameters: {
},
},
{
path: "/api/practitioners-list",
method: "GET",
controller: "Api\GetController@practitioner",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get practitioners list",
parameters: {
},
},
{
path: "/patient/me",
method: "GET",
controller: "GetController@getPatientDetailsByAccessToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get patient details by access token",
parameters: {
},
},
{
path: "/provider/me",
method: "GET",
controller: "GetController@getProviderDetailsByAccessToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get provider details by access token",
parameters: {
},
},
{
path: "/api/patients",
method: "GET",
controller: "Api\GetController@getPatientList",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get a list of patients",
parameters: {
firstName: { type: "string", required: false, description: "Filter by patient's first name" },
lastName: { type: "string", required: false, description: "Filter by patient's last name" },
dateOfBirth: { type: "string", required: false, description: "Filter by patient's date of birth (YYYY-MM-DD)" },
email: { type: "string", required: false, description: "Filter by patient's email" },
},
},
{
path: "/api/patient/register-patient",
method: "POST",
controller: "Patient\PostController@registerPatientForPatient",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Register a new patient",
parameters: {
first_name: { type: "string", required: true, description: "John" },
last_name: { type: "string", required: true, description: "Doe" },
email: { type: "string", required: true, description: "john.doe@example.com" },
phone_no: { type: "string", required: true, description: "1234567890" },
dob: { type: "string", required: true, description: "1990-01-01" },
gender: { type: "string", required: true, description: "Male" },
},
},
{
path: "/api/update-password",
method: "POST",
controller: "Api\PostController@updatePasswordPatient",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Update patient password",
parameters: {
new_password: { type: "string", required: true, description: "newSecurePassword123" },
},
},
{
path: "/api/store-document/{patientId}",
method: "POST",
controller: "Api\PostController@storeDocuments",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Store patient documents",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-document/{patientId}",
method: "GET",
controller: "Api\GetController@getDocuments",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Get patient documents",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/get-document-by-id/{patientId}/{did}",
method: "GET",
controller: "Api\GetController@getDocumentsById",
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
description: "Get a specific patient document by ID",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
did: { type: "integer", required: true, description: "Document ID" },
},
},
{
path: "/api/add-vital/{patientId}",
method: "POST",
controller: "Api\PostController@addVital",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Add vital signs for a patient",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
provider_id: { type: "integer", required: true, description: "1" },
blood_presssure: { type: "string", required: true, description: "120" },
diastolic: { type: "string", required: true, description: "80" },
weight_lbs: { type: "number", required: true, description: "175.5" },
height_ft: { type: "integer", required: true, description: "5" },
height_in: { type: "integer", required: true, description: "10" },
temperature: { type: "number", required: true, description: "98.6" },
pulse: { type: "integer", required: true, description: "72" },
respiratory_rate: { type: "integer", required: true, description: "16" },
saturation: { type: "integer", required: true, description: "98" },
waist_in: { type: "number", required: true, description: "32.5" },
headCircumference_in: { type: "number", required: true, description: "22.5" },
note: { type: "string", required: true, description: "Patient appears healthy" },
provider: { type: "string", required: true, description: "Dr. Smith" },
weight_oz: { type: "number", required: true, description: "weight_oz parameter" },
bmi: { type: "number", required: true, description: "24.5" },
bloodSugar: { type: "number", required: true, description: "95" },
fasting: { type: "boolean", required: true, description: "true" },
neck_in: { type: "number", required: true, description: "15.5" },
shoulders_in: { type: "number", required: true, description: "44" },
chest_in: { type: "number", required: true, description: "42" },
hips_in: { type: "number", required: true, description: "38" },
lean_body_mass_lbs: { type: "number", required: true, description: "145" },
body_fat: { type: "number", required: true, description: "18" },
notes: { type: "string", required: true, description: "Additional observations" },
subjective_notes: { type: "string", required: true, description: "Patient reports feeling well" },
},
},
{
path: "/api/get-stored-methods/{id}",
method: "GET",
controller: "Api\GetController@getStoredMethods",
category: ENDPOINT_CATEGORIES.BILLING_ORDERS,
description: "Get stored payment methods",
parameters: {
id: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/patient/medical-problem/{id}",
method: "GET",
controller: "Patient\GetController@getPatientMedicalProblemById",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get medical problem by ID",
parameters: {
id: { type: "integer", required: true, description: "Medical problem ID" },
},
},
{
path: "/api/patient/medical-problem/{id}",
method: "PUT",
controller: "Patient\PutController@updatePatientMedicalProblem",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Update medical problem",
parameters: {
id: { type: "integer", required: true, description: "Medical problem ID" },
description: { type: "string", required: true, description: "Updated diagnosis" },
date_of_onset: { type: "string", required: true, description: "2023-02-15" },
status: { type: "string", required: true, description: "resolved" },
},
},
{
path: "/api/patient/history/{patientId}",
method: "GET",
controller: "Patient\GetController@patientHistory",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get patient history",
parameters: {
patientId: { type: "integer", required: true, description: "Patient ID" },
},
},
{
path: "/api/patient/medical-problem/{pid}",
method: "POST",
controller: "Patient\PostController@storePatientMedicalProblem",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Store medical problem",
parameters: {
pid: { type: "integer", required: true, description: "Patient ID" },
description: { type: "string", required: true, description: "Migraine" },
date_of_onset: { type: "string", required: true, description: "2023-03-10" },
status: { type: "string", required: true, description: "active" },
},
},
{
path: "/api/patient/profile-picture",
method: "POST",
controller: "Patient\PostController@uploadProfilePicture",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Upload profile picture",
parameters: {
},
},
{
path: "/api/patient/prescription",
method: "GET",
controller: "Patient\GetController@getPatientPrescriptions",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get patient prescriptions",
parameters: {
},
},
{
path: "/api/patient/session-history",
method: "GET",
controller: "Patient\GetController@sessionHistory",
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
description: "Get patient session history",
parameters: {
},
},
{
path: "/api/patient/notifications",
method: "GET",
controller: "Patient\GetController@getNotification",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient notifications",
parameters: {
},
},
{
path: "/api/patient/data",
method: "GET",
controller: "Patient\GetController@getPatientData",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient data",
parameters: {
},
},
{
path: "/api/patient/subscriptions",
method: "GET",
controller: "Patient\GetController@getSubscriptionList",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Get patient subscription list",
parameters: {
},
},
{
path: "/api/patient/subscription/{subscription}/cancel",
method: "POST",
controller: "Patient\PostController@cancelSubscription",
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
description: "Cancel subscription",
parameters: {
subscription: { type: "integer", required: true, description: "Subscription ID" },
reason: { type: "string", required: true, description: "Too expensive" },
feedback: { type: "string", required: true, description: "I found a better option elsewhere" },
},
},
{
path: "/api/patient/process-payment",
method: "POST",
controller: "Patient\PostController@processPayment",
category: ENDPOINT_CATEGORIES.BILLING_ORDERS,
description: "Process payment",
parameters: {
amount: { type: "number", required: true, description: "99.99" },
payment_method: { type: "string", required: true, description: "card" },
currency: { type: "string", required: true, description: "USD" },
payment_method_id: { type: "string", required: true, description: "pm_card_visa" },
description: { type: "string", required: true, description: "Payment for consultation" },
},
},
{
path: "/api/token/generate-temporary",
method: "POST",
controller: "Api\PostController@generateTemporaryToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Generate a temporary API token",
parameters: {
user_id: { type: "integer", required: true, description: "1" },
expires_in_hours: { type: "integer", required: true, description: "24" },
abilities: { type: "array", required: true, description: "abilities parameter" },
},
},
{
path: "/api/token/list/{userId}",
method: "GET",
controller: "Api\GetController@listUserTokens",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "List all tokens for a user",
parameters: {
userId: { type: "integer", required: true, description: "User ID" },
},
},
{
path: "/api/token/revoke",
method: "DELETE",
controller: "Api\DeleteController@revokeToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Revoke a specific token",
parameters: {
token_id: { type: "integer", required: true, description: "1" },
},
},
{
path: "/api/token/revoke-all/{userId}",
method: "DELETE",
controller: "Api\DeleteController@revokeAllUserTokens",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Revoke all tokens for a user",
parameters: {
userId: { type: "integer", required: true, description: "User ID" },
},
},
{
path: "/api/token/create-with-abilities",
method: "POST",
controller: "Api\PostController@createTokenWithAbilities",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Create a token with specific abilities",
parameters: {
user_id: { type: "integer", required: true, description: "1" },
token_name: { type: "string", required: true, description: "api-access-token" },
abilities: { type: "array", required: true, description: "abilities parameter" },
expires_in_hours: { type: "integer", required: true, description: "72" },
},
},
{
path: "/api/token/refresh",
method: "POST",
controller: "Api\PostController@refreshCurrentToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Refresh current token",
parameters: {
},
}
];
/**
* patient endpoints (1 endpoints)
*/
export const NEW_PATIENT_ENDPOINTS = [
{
path: "/api/change-password",
method: "POST",
controller: "Api\PostController@updatePasswordAuth",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Update patient password",
parameters: {
current_password: { type: "string", required: true, description: "currentpassword" },
new_password: { type: "string", required: true, description: "newpassword123" },
},
}
];
/**
* partner endpoints (0 endpoints)
*/
export const NEW_PARTNER_ENDPOINTS = [
];
/**
* affiliate endpoints (1 endpoints)
*/
export const NEW_AFFILIATE_ENDPOINTS = [
{
path: "/affiliate/me",
method: "GET",
controller: "GetController@getAffiliateDetailsByAccessToken",
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
description: "Get affiliate details by access token",
parameters: {
},
}
];
/**
* network endpoints (0 endpoints)
*/
export const NEW_NETWORK_ENDPOINTS = [
];