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

18742 lines
528 KiB
JSON

{
"public": [
{
"path": "/room-joined/event",
"method": "POST",
"operationId": "livekitWebhook",
"summary": "LiveKit webhook handler",
"description": "Handles LiveKit room events and recording operations",
"tags": [
"LiveKit"
],
"parameters": [],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"properties": {
"event": {
"type": "string",
"example": "room_started"
},
"room": {
"type": "object"
},
"egressInfo": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Event processed successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Success"
},
"Response": {
"type": "string",
"example": "Success"
},
"egress_id": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Failed to process event"
}
},
"security": [],
"authType": "public",
"category": "livekit",
"toolName": "public_create_room_joined_event"
},
{
"path": "/room-joined/event-transcription",
"method": "POST",
"operationId": "getRecordingUrl",
"summary": "Get recording URL",
"description": "Retrieves the URL for a meeting recording",
"tags": [
"LiveKit"
],
"parameters": [],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"properties": {
"egressInfo": {
"properties": {
"roomName": {
"type": "string",
"example": "appointment-123"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Recording URL retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Success"
},
"Response": {
"type": "string",
"example": "Success"
},
"video_url": {
"type": "string"
},
"filename": {
"type": "string"
},
"transcription": {
"type": "string",
"nullable": true
},
"transcription_status": {
"type": "string",
"nullable": true
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid request"
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to retrieve recording URL"
}
},
"security": [],
"authType": "public",
"category": "livekit",
"toolName": "public_create_room_joined_event_transcription"
},
{
"path": "/api/check-user",
"method": "POST",
"operationId": "checkProvider",
"summary": "Check if provider exists",
"description": "Checks if a provider exists with the given email",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "provider@example.com"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Check completed",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"description": "True if provider exists, false otherwise",
"type": "boolean"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "user_management",
"toolName": "public_create_check_user"
},
{
"path": "/api/get-patient-summary/{patientId}",
"method": "GET",
"operationId": "getPatientSummary",
"summary": "Get patient summary",
"description": "Retrieves the patient summary information",
"tags": [
"Patient Summary"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Patient summary retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"summary": {
"type": "string"
},
"patient": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_get_get_patient_summary"
},
{
"path": "/api/update-patient-summary/{patientId}",
"method": "POST",
"operationId": "updatePatientSummary",
"summary": "Update patient summary",
"description": "Updates the summary information for a patient",
"tags": [
"Patient Summary"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"summary"
],
"properties": {
"summary": {
"type": "string",
"example": "Patient summary text"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Summary updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string"
},
"summary": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_create_update_patient_summary"
},
{
"path": "/api/generate-patient-summary/{patientId}",
"method": "GET",
"operationId": "generatePatientSummary",
"summary": "Generate AI summary for patient",
"description": "Generates an AI-powered summary for a patient based on their data",
"tags": [
"Patient Summary"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Summary generated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"summary": {
"type": "string"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_get_generate_patient_summary"
},
{
"path": "/api/get-patient-full-details/{patientId}",
"method": "GET",
"operationId": "getPatientFullDetails",
"summary": "Get comprehensive patient details",
"description": "Retrieves comprehensive patient details including forms, appointments, and medical history",
"tags": [
"Patient Data"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Patient details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"patient": {
"type": "object"
},
"appointments": {
"type": "array",
"items": {
"type": "object"
}
},
"forms": {
"type": "array",
"items": {
"type": "object"
}
},
"medicalHistory": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_get_get_patient_full_details"
},
{
"path": "/api/get-patient-forms-list/{patientId}",
"method": "GET",
"operationId": "getPatientFormsList",
"summary": "Get patient forms list",
"description": "Retrieves a list of all forms submitted by a patient",
"tags": [
"Forms"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Forms list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"forms": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_get_get_patient_forms_list"
},
{
"path": "/api/download/pdf/{id}/{type}",
"method": "GET",
"operationId": "downloadPdfFile",
"summary": "Download or view PDF file",
"description": "Downloads or renders a PDF file for a form",
"tags": [
"Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
},
{
"name": "type",
"in": "path",
"required": true,
"type": "string",
"description": "Action type (download or view)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "File download or view",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "Invalid input",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "File not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Pdf not found"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_get_download_pdf"
},
{
"path": "/emr-api/provider-register",
"method": "POST",
"operationId": "registerProvider",
"summary": "Register a new provider",
"description": "Register a new provider and their company",
"tags": [
"Provider",
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"firstName",
"lastName",
"username",
"emailAddress",
"textMessageNumber",
"newUserPassword",
"company_name"
],
"properties": {
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "1234567890"
},
"newUserPassword": {
"type": "string",
"format": "password",
"example": "Password123!"
},
"company_name": {
"type": "string",
"example": "Health Clinic"
},
"on_your_domain": {
"type": "boolean",
"example": true
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Provider registered successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
},
"userAbilityRules": {
"type": "array",
"items": {
"type": "object"
}
},
"userData": {
"type": "object"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"409": {
"description": "Email or username already exists",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "error"
},
"message": {
"type": "string",
"example": "Email Already Exists!"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Validation Error"
},
"messages": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"messages": {
"type": "string",
"example": "Error"
},
"data": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_provider_register"
},
{
"path": "/api/login",
"method": "POST",
"operationId": "adminPanelAuthenticate",
"summary": "Authenticate admin panel users",
"description": "Authenticate providers, practitioners, and admins for the admin panel",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"username",
"password"
],
"properties": {
"username": {
"type": "string",
"example": "admin"
},
"password": {
"type": "string",
"example": "password123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Successful authentication",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"refreshToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"tokenType": {
"type": "string",
"example": "Bearer"
},
"company": {
"type": "string",
"example": "Health Guru Hub"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid credentials",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid credentials"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"properties": {
"username": {
"type": "array",
"items": {
"type": "string",
"example": "The username field is required."
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_login"
},
{
"path": "/api/refresh-token",
"method": "POST",
"operationId": "refresh",
"summary": "Refresh authentication token",
"description": "Refresh an existing authentication token using a refresh token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"refresh_token"
],
"properties": {
"refresh_token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Token refreshed successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"refreshToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"tokenType": {
"type": "string",
"example": "Bearer"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid refresh token",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid refresh token"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_refresh_token"
},
{
"path": "/api/login-patient",
"method": "POST",
"operationId": "loginPatient",
"summary": "Patient login",
"description": "Authenticate a patient with OpenEMR integration",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"password": {
"type": "string",
"example": "password123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Successful authentication",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "object"
},
"erm_access_token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"token_type": {
"type": "string",
"example": "Bearer"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid credentials",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid credentials"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_login_patient"
},
{
"path": "/api/patient/login",
"method": "POST",
"operationId": "loginPatientWithoutAuthAuth",
"summary": "Patient login without authentication middleware",
"description": "Login a patient without going through the authentication middleware",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"password": {
"type": "string",
"example": "password123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Successful authentication",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "token"
},
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
},
"subject": {
"type": "string",
"example": "all"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"role": {
"type": "string",
"example": "patient"
},
"forms": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"form_id": {
"type": "string",
"example": "intake-form"
}
},
"type": "object"
}
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid credentials",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid credentials."
}
},
"type": "object"
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "User not registered."
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred during login."
},
"exception": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_patient_login"
},
{
"path": "/api/set-password/{token}",
"method": "POST",
"operationId": "setPassword",
"summary": "Set password for patient account",
"description": "Set a new password for a patient account using a token",
"tags": [
"Patient Authentication"
],
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"type": "string",
"description": "Password reset token"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"password",
"password_confirmation"
],
"properties": {
"password": {
"type": "string",
"example": "newpassword123"
},
"password_confirmation": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password set successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password set successfully"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Failed to set password",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to set password"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_set_password"
},
{
"path": "/api/register-patient",
"method": "POST",
"operationId": "registerPatientWithoutAuthAuth",
"summary": "Register patient without authentication",
"description": "Register a new patient without requiring authentication",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"firstName",
"lastName",
"email",
"password",
"dateOfBirth",
"gender",
"phone",
"username"
],
"properties": {
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"password": {
"type": "string",
"example": "password123"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "M"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"username": {
"type": "string",
"example": "johndoe"
},
"provider_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Patient registered successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
},
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
},
"subject": {
"type": "string",
"example": "all"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"role": {
"type": "string",
"example": "patient"
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Email already exists",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "email already exist."
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while registering."
},
"exception": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_register_patient"
},
{
"path": "/api/forgot-password",
"method": "POST",
"operationId": "forgotPassword",
"summary": "Forgot password functionality",
"description": "Send a password reset link to the patient's email",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password reset link sent",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password reset link sent to your email"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_forgot_password"
},
{
"path": "/api/password-reset",
"method": "POST",
"operationId": "resetPassword",
"summary": "Reset password functionality",
"description": "Reset password using a token received via email",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"token",
"email",
"password",
"password_confirmation"
],
"properties": {
"token": {
"type": "string",
"example": "reset-token"
},
"email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"password": {
"type": "string",
"example": "newpassword123"
},
"password_confirmation": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password reset successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password reset successfully"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_password_reset"
},
{
"path": "/api/get/document/{userId}/{rowId}/{key}",
"method": "GET",
"operationId": "createPublicLink",
"summary": "Create a public link to access a document",
"description": "Creates a public link to access a document from patient intake form data for a specific user",
"tags": [
"Documents"
],
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
},
{
"name": "rowId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the intake form record"
},
{
"name": "key",
"in": "path",
"required": true,
"type": "string",
"description": "Key identifier for the document in the form data"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Document file stream",
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Document not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Not Found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Server Error"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "documents",
"toolName": "public_get_get_document"
},
{
"path": "/api/get-form-without-auth/{id}",
"method": "GET",
"operationId": "getFormByIdwithouthAuth",
"summary": "Get form by ID without authentication",
"description": "Retrieves a specific form by its ID without requiring authentication",
"tags": [
"Forms Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "success"
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "simple-forms"
},
"name": {
"type": "string",
"example": "Patient Intake Form"
},
"data": {
"type": "object"
},
"provider_id": {
"type": "integer",
"example": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Form not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form not found"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_get_get_form_without_auth"
},
{
"path": "/api/store-intake-form-data",
"method": "POST",
"operationId": "storeIntakeFormData",
"summary": "Store intake form data",
"description": "Stores patient intake form data with support for file uploads",
"tags": [
"Patient Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"form_id",
"pid",
"schema",
"orginal_form_schema"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"practitioner_id": {
"type": "integer",
"example": 3
},
"schema": {
"description": "JSON schema of the form",
"type": "string"
},
"orginal_form_schema": {
"description": "Original JSON schema of the form",
"type": "string"
},
"signatureMetaData": {
"description": "JSON metadata for signatures",
"type": "string"
},
"file_field_name": {
"description": "File upload fields (multiple can be included)",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form data updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"201": {
"description": "Form data stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"provider_id": {
"type": "integer",
"example": 1
},
"data": {
"type": "object"
},
"schema": {
"type": "object"
},
"practitioner_id": {
"type": "integer",
"example": 3
},
"orginal_form_schema": {
"type": "object"
},
"signature_meta": {
"type": "object"
},
"pdf_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_create_store_intake_form_data"
},
{
"path": "/api/update-intake-form-data/{id}",
"method": "POST",
"operationId": "updatesIntakeFormData",
"summary": "Update intake form data",
"description": "Updates patient intake form data with support for file uploads",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Intake form record ID"
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"form_id",
"pid",
"schema",
"orginal_form_schema"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"practitioner_id": {
"type": "integer",
"example": 3
},
"schema": {
"description": "JSON schema of the form",
"type": "string"
},
"orginal_form_schema": {
"description": "Original JSON schema of the form",
"type": "string"
},
"signatureMetaData": {
"description": "JSON metadata for signatures",
"type": "string"
},
"file_field_name": {
"description": "File upload fields (multiple can be included)",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form data updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"201": {
"description": "Form data created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"500": {
"description": "Server error"
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_create_update_intake_form_data"
},
{
"path": "/api/get-signed-patient-data/{id}",
"method": "GET",
"operationId": "getSignedData",
"summary": "Get signed patient form data",
"description": "Retrieves patient form data using a signed URL",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form submission ID"
},
{
"name": "signature",
"in": "query",
"required": true,
"type": "string",
"description": "URL signature for validation"
},
{
"name": "expires",
"in": "query",
"required": true,
"type": "integer",
"description": "URL expiration timestamp"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form data retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"500": {
"description": "Link expired",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Link Expired!"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_get_get_signed_patient_data"
},
{
"path": "/api/get-pdf-url/{id}",
"method": "GET",
"operationId": "getPdfUrl",
"summary": "Get PDF URL",
"description": "Retrieves the PDF URL for a form submission",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form submission ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "PDF URL retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"pdf_url": {
"type": "string",
"example": "https://example.com/storage/forms/document-forms/1/consent-forms/form-123.pdf"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "forms",
"toolName": "public_get_get_pdf_url"
},
{
"path": "/api/user-list-profile/{id}",
"method": "GET",
"operationId": "getUserProfileById",
"summary": "Get user profile by ID",
"description": "Returns user profile information for display",
"tags": [
"User Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"firstName": {
"type": "string",
"example": "John"
},
"timezone": {
"type": "string",
"example": "UTC"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"profile_image_url": {
"type": "string",
"example": "https://example.com/storage/John-Doe/image.jpg"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"role_id": {
"type": "string",
"example": "1"
},
"accessRights": {
"properties": {
"admin": {
"type": "boolean",
"example": false
},
"practitioner": {
"type": "boolean",
"example": false
},
"patientPortalMessaging": {
"type": "boolean",
"example": false
}
},
"type": "object"
},
"analytics": {
"type": "string",
"example": "None"
},
"replyToEmail": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"chartCoSigner": {
"type": "string",
"nullable": true
},
"supervisor": {
"type": "string",
"nullable": true
},
"sendEmail": {
"type": "boolean",
"example": false
},
"notes": {
"type": "string",
"example": ""
},
"copyDetailsFrom": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"example": 1
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "Users list!"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "array",
"items": {
"type": "string"
},
"example": []
},
"message": {
"type": "string",
"example": "Users profile not exixt!"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error"
}
},
"security": [],
"authType": "public",
"category": "user_management",
"toolName": "public_get_user_list_profile"
},
{
"path": "/api/user/set-password/{token}",
"method": "POST",
"operationId": "setUserPassword",
"summary": "Set user password",
"description": "Sets a password for a user with a valid token",
"tags": [
"User Management"
],
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"type": "string",
"description": "Password set token"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"password"
],
"properties": {
"password": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password set successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password set successfully. You can now log in."
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Invalid or expired token",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid or expired token."
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Validation failed"
},
"errors": {
"properties": {
"password": {
"type": "array",
"items": {
"type": "string",
"example": "The password field is required."
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Failed to set password",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Failed to set password."
},
"error": {
"type": "string",
"example": "Detailed error message"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "user_management",
"toolName": "public_create_user_set_password"
},
{
"path": "/api/patient/refresh-token",
"method": "POST",
"operationId": "refreshPatientToken",
"summary": "Refresh patient authentication token",
"description": "Refreshes the authentication token for the currently authenticated patient",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"refresh_token"
],
"properties": {
"refresh_token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Token refreshed successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
},
"refreshToken": {
"type": "string",
"example": "def50200641f31850c6381..."
},
"tokenType": {
"type": "string",
"example": "Bearer"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid refresh token",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid refresh token"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_patient_refresh_token"
},
{
"path": "/api/register-patients",
"method": "POST",
"operationId": "registerPatientWithoutAuthPatient",
"summary": "Register a new patient without authentication",
"description": "Creates a new patient account without requiring authentication",
"tags": [
"Patients"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"first_name",
"last_name",
"email",
"phone_no",
"dob",
"gender",
"provider_id"
],
"properties": {
"first_name": {
"type": "string",
"example": "John"
},
"last_name": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone_no": {
"type": "string",
"example": "1234567890"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "Male"
},
"provider_id": {
"type": "integer",
"example": 1
},
"username": {
"type": "string",
"example": "johndoe"
},
"isportalAccess": {
"type": "boolean",
"example": true
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Patient registered successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
},
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"email": {
"type": "string",
"example": "john.doe@example.com"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"role": {
"type": "string",
"example": "patient"
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "email already exist."
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while booking."
},
"exception": {
"type": "string",
"example": "Error message details"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_create_register_patients"
},
{
"path": "/api/patient-login-api",
"method": "POST",
"operationId": "loginPatientWithoutAuthPatient",
"summary": "Patient login without authentication",
"description": "Authenticates a patient and returns access token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"password": {
"type": "string",
"example": "password123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Login successful",
"content": {
"application/json": {
"schema": {
"properties": {
"accessToken": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
},
"userAbilityRules": {
"type": "array",
"items": {
"type": "object"
}
},
"userData": {
"properties": {
"forms": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid credentials",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "email or password does not matches"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "User not registered."
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred during login"
},
"message": {
"type": "string",
"example": "Error message details"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_patient_login_api"
},
{
"path": "/api/patient-order-create",
"method": "POST",
"operationId": "patientOrderCreate",
"summary": "Create a patient order",
"description": "Create a new order for a patient with products",
"tags": [
"Orders"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"patient_id",
"shipping_address1",
"shipping_city",
"shipping_state",
"shipping_zipcode",
"shipping_country",
"shipping_amount",
"total_amount",
"items",
"provider_id"
],
"properties": {
"patient_id": {
"type": "integer",
"example": 1
},
"shipping_address1": {
"type": "string",
"example": "123 Main St"
},
"shipping_address2": {
"type": "string",
"example": "Apt 4B"
},
"shipping_city": {
"type": "string",
"example": "New York"
},
"shipping_state": {
"type": "string",
"example": "NY"
},
"shipping_zipcode": {
"type": "string",
"example": "10001"
},
"shipping_country": {
"type": "string",
"example": "USA"
},
"shipping_amount": {
"type": "number",
"format": "float",
"example": 5.99
},
"total_amount": {
"type": "number",
"format": "float",
"example": 99.99
},
"practitioner_fee": {
"type": "number",
"format": "float",
"example": 50
},
"affiliate_email": {
"type": "string",
"format": "email",
"example": "affiliate@example.com"
},
"provider_id": {
"type": "integer",
"example": 1
},
"appointment_id": {
"type": "integer",
"example": 123
},
"pending_task": {
"type": "boolean",
"example": false
},
"builder_id": {
"type": "integer",
"example": 456
},
"discount_amount": {
"type": "number",
"format": "float",
"example": 10
},
"coupon_code": {
"type": "string",
"example": "SAVE10"
},
"items": {
"type": "array",
"items": {
"properties": {
"product_id": {
"type": "integer",
"example": 101
},
"variation_id": {
"type": "integer",
"example": 1
},
"qty": {
"type": "integer",
"example": 2
},
"subscription": {
"type": "integer",
"example": 0
},
"onetime": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Order created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Order created successfully"
},
"order": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"messages": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to process order"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "patients",
"toolName": "public_create_patient_order_create"
},
{
"path": "/api/patient-book-appointment",
"method": "POST",
"operationId": "bookAppointmentPatient",
"summary": "Book a patient appointment",
"description": "Books a new appointment for a patient",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"start_time",
"end_time",
"practitioner_id"
],
"properties": {
"start_time": {
"type": "string",
"format": "date-time",
"example": "2023-06-01T10:00:00"
},
"end_time": {
"type": "string",
"format": "date-time",
"example": "2023-06-01T11:00:00"
},
"practitioner_id": {
"type": "integer",
"example": 1
},
"notes": {
"type": "string",
"example": "Initial consultation"
},
"order_id": {
"type": "integer",
"example": 123
},
"affiliate_email": {
"type": "string",
"format": "email",
"example": "affiliate@example.com"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Appointment booked successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"appointmentId": {
"type": "integer",
"example": 123
},
"appointmentData": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Bad request or time slot already booked",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "The time slot is already booked."
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"end_time": {
"type": "array",
"items": {
"type": "string",
"example": "The end time field is required."
}
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while booking."
},
"exception": {
"type": "string",
"example": "Error message details"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "appointments",
"toolName": "public_create_patient_book_appointment"
},
{
"path": "/api/redirect-with-auth/{pid}",
"method": "GET",
"operationId": "redirectWithAuth",
"summary": "Get authentication token for redirect",
"description": "Creates an authentication token for a patient to be used in redirects",
"tags": [
"Authentication"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Authentication token created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_get_redirect_with_auth"
},
{
"path": "/api/patient/available-slots/{date}",
"method": "POST",
"operationId": "availableSlotsForPatient",
"summary": "Get available appointment slots for a specific date",
"description": "Returns a list of available time slots for a given date.",
"tags": [
"Appointment"
],
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string",
"description": "Date in YYYY-MM-DD format"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string",
"example": "09:00 AM"
}
}
}
}
},
"400": {
"description": "Invalid date format",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid date format"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "appointments",
"toolName": "public_create_patient_available_slots"
},
{
"path": "/api/check-email",
"method": "POST",
"operationId": "checkEmail",
"summary": "Check email availability",
"description": "Check if an email is already registered in the system",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "user@example.com"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Email availability check result",
"content": {
"application/json": {
"schema": {
"properties": {
"available": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Email is available"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Email is required"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "authentication",
"toolName": "public_create_check_email"
},
{
"path": "/api/generate-permanent-token/{userId}",
"method": "GET",
"operationId": "generatePermanentToken",
"summary": "Generate a permanent API token for a user",
"description": "Creates a permanent API token with full abilities for the specified user",
"tags": [
"Token Management"
],
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Token generated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"user": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"token": {
"type": "string",
"example": "1|LNEBIslIcADi7yjPgHPxNZ0EfFdRrHG5g3KJw1Bd"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "User not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to generate token"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [],
"authType": "public",
"category": "tokens",
"toolName": "public_get_generate_permanent_token"
}
],
"provider": [
{
"path": "/get-asseblyai-token",
"method": "POST",
"operationId": "getAsseblyAiToekn",
"summary": "Get AssemblyAI token",
"description": "Retrieves an AssemblyAI token for transcription services",
"tags": [
"Meetings"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Token retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"token": {
"type": "string",
"example": "9f98sd7f9sd87f9sd87f9sd87f"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to retrieve token"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_create_get_asseblyai_token"
},
{
"path": "/create-meeting/{meeting_id}",
"method": "GET",
"operationId": "showMeeting",
"summary": "Show meeting details",
"description": "Display meeting details by meeting ID",
"tags": [
"Meetings"
],
"parameters": [
{
"name": "meeting_id",
"in": "path",
"required": true,
"type": "string",
"description": "Meeting ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Meeting details retrieved successfully"
},
"404": {
"description": "Meeting not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_get_create_meeting"
},
{
"path": "/join-meeting/{meeting_id}",
"method": "GET",
"operationId": "joinMeeting",
"summary": "Join a meeting",
"description": "Join a meeting by meeting ID",
"tags": [
"Meetings"
],
"parameters": [
{
"name": "meeting_id",
"in": "path",
"required": true,
"type": "string",
"description": "Meeting ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Joined meeting successfully"
},
"404": {
"description": "Meeting not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_get_join_meeting"
},
{
"path": "/api/start-call/{patient_id}/{agent_id}/{appointment_id}",
"method": "POST",
"operationId": "startCall",
"summary": "Start a call",
"description": "Start a video call between patient and agent",
"tags": [
"Meetings"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
},
{
"name": "agent_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Agent ID"
},
{
"name": "appointment_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"properties": {
"title": {
"type": "string",
"example": "Consultation call"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Call started successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"token": {
"type": "string"
},
"appointment_id": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to start call"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_create_start_call"
},
{
"path": "/get-realtime-questions/{appointmentId}",
"method": "GET",
"operationId": "getRealtimeQuestions",
"summary": "Get real-time questions",
"description": "Retrieves real-time questions generated during a session",
"tags": [
"Meetings"
],
"parameters": [
{
"name": "appointmentId",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Questions retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Success"
},
"Response": {
"type": "string",
"example": "Success"
},
"questions": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"appointment_id": {
"type": "integer"
},
"question": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
},
"transcription_status": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to retrieve questions"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_get_get_realtime_questions"
},
{
"path": "/api/end-call/{patient_id}/{appointment_id}",
"method": "POST",
"operationId": "endCall",
"summary": "End a call",
"description": "End an active video call",
"tags": [
"Meetings"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
},
{
"name": "appointment_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Call ended successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Call ended"
},
"appointment_id": {
"type": "integer"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to end call"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "meetings",
"toolName": "provider_create_end_call"
},
{
"path": "/api/labs/search",
"method": "POST",
"operationId": "searchLabsByAddress",
"summary": "Search labs by address",
"description": "Search for labs by address, city, state or zip code",
"tags": [
"Labs"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"example": "123 Main St"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Labs retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zip_code": {
"type": "string"
},
"lang": {
"type": "number",
"format": "float"
},
"lat": {
"type": "number",
"format": "float"
}
},
"type": "object"
}
}
}
}
},
"500": {
"description": "Failed to search labs"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "labs",
"toolName": "provider_create_labs_search"
},
{
"path": "/api/book-appointment",
"method": "POST",
"operationId": "bookAgentAppointment",
"summary": "Book an appointment",
"description": "Books a new appointment with a doctor",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"telemed_pros_id",
"patient_id",
"doctor_id",
"appointment_id",
"appointment_time"
],
"properties": {
"telemed_pros_id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 1
},
"doctor_id": {
"type": "integer",
"example": 1
},
"appointment_id": {
"type": "integer",
"example": 1
},
"appointment_time": {
"type": "string",
"format": "date-time",
"example": "2023-06-15 14:30:00"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Appointment booked successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Appointment booked successfully"
},
"meeting_id": {
"type": "string"
},
"appointment_time": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Failed to book appointment"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_book_appointment"
},
{
"path": "/api/update-patient-info/{patientId}",
"method": "POST",
"operationId": "updateInfo",
"summary": "Update patient information",
"description": "Updates patient's personal information",
"tags": [
"Patients"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"address": {
"type": "string",
"example": "123 Main St"
},
"zip_code": {
"type": "string",
"example": "10001"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"country": {
"type": "string",
"example": "USA"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Patient information updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Patient address updated successfully"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Failed to update patient information"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_create_update_patient_info"
},
{
"path": "/api/get-patient-info/{patientId}",
"method": "POST",
"operationId": "getInfo",
"summary": "Get patient information",
"description": "Retrieves patient's personal information",
"tags": [
"Patients"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Patient information retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zip_code": {
"type": "string"
},
"country": {
"type": "string"
},
"dob": {
"type": "string",
"format": "date"
},
"age": {
"type": "integer"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Failed to retrieve patient information"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_create_get_patient_info"
},
{
"path": "/api/get-doctors-list",
"method": "POST",
"operationId": "getDoctorList",
"summary": "Get doctors list",
"description": "Retrieves a list of all doctors",
"tags": [
"Doctors"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Doctors list retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"designation": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"500": {
"description": "Failed to retrieve doctors list"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "doctors",
"toolName": "provider_create_get_doctors_list"
},
{
"path": "/api/get-appointment-list",
"method": "POST",
"operationId": "getAppointmentList",
"summary": "Get appointments list",
"description": "Retrieves a list of all appointments",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Appointments list retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"agent_name": {
"type": "string"
},
"appointment_time": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"500": {
"description": "Failed to retrieve appointments list"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_get_appointment_list"
},
{
"path": "/api/get-doctors-appointment-list",
"method": "POST",
"operationId": "getDoctorAppointmentList",
"summary": "Get doctor appointments list",
"description": "Retrieves a list of all doctor appointments",
"tags": [
"Appointments",
"Doctors"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Doctor appointments list retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"appointment_time": {
"type": "string",
"format": "date-time"
},
"doctor_id": {
"type": "integer"
},
"patient_id": {
"type": "integer"
},
"appointment_id": {
"type": "integer"
}
},
"type": "object"
}
}
}
}
},
"500": {
"description": "Failed to retrieve doctor appointments list"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_get_doctors_appointment_list"
},
{
"path": "/api/available-slots/{date}",
"method": "POST",
"operationId": "availableSlots",
"summary": "Get available appointment slots",
"description": "Retrieves available appointment slots for a specific date",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string",
"description": "Date (YYYY-MM-DD)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Available slots retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"available_slots": {
"type": "array",
"items": {
"type": "string",
"example": "9:00 AM"
}
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Failed to retrieve available slots"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_available_slots"
},
{
"path": "/api/appointment-detail/{appointment}",
"method": "POST",
"operationId": "appointmentDetail",
"summary": "Get appointment details",
"description": "Retrieves detailed information about a specific appointment",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "appointment",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Appointment details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"patient": {
"type": "object"
},
"telemedPro": {
"type": "object"
},
"doctor_appointment": {
"type": "object"
},
"agent_appointment": {
"type": "object"
},
"video_url": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to retrieve appointment details"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_appointment_detail"
},
{
"path": "/api/lab-detail/{appointment}",
"method": "GET",
"operationId": "labDetail",
"summary": "Get lab details for an appointment",
"description": "Retrieves lab details associated with a specific appointment",
"tags": [
"Labs",
"Appointments"
],
"parameters": [
{
"name": "appointment",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Lab details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"lab_name": {
"type": "string"
},
"lab_address": {
"type": "string"
},
"lab_city": {
"type": "string"
},
"lab_state": {
"type": "string"
},
"lab_distance": {
"type": "number",
"format": "float"
},
"lab_contact_no": {
"type": "string"
},
"lab_lang": {
"type": "number",
"format": "float"
},
"lab_lat": {
"type": "number",
"format": "float"
},
"slot_date": {
"type": "string",
"format": "date"
},
"slot_time": {
"type": "string"
},
"booking_time": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Lab or appointment not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_lab_detail"
},
{
"path": "/api/add-note-patient",
"method": "POST",
"operationId": "addNotePatient",
"summary": "Add a note for patient",
"description": "Creates a new note for the authenticated patient",
"tags": [
"Notes"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"note",
"note_type"
],
"properties": {
"note": {
"type": "string",
"example": "Follow-up required in 2 weeks"
},
"note_type": {
"type": "string",
"example": "medical"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Note created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Note created"
},
"data": {
"properties": {
"id": {
"type": "integer"
},
"note": {
"type": "string"
},
"note_type": {
"type": "string"
},
"patient_id": {
"type": "integer"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Failed to create note"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "notes",
"toolName": "provider_create_add_note_patient"
},
{
"path": "/api/get-note-patient",
"method": "GET",
"operationId": "getNotePatient",
"summary": "Get patient notes",
"description": "Retrieves all notes for the authenticated patient",
"tags": [
"Notes"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Notes retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Note created"
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"note": {
"type": "string"
},
"note_type": {
"type": "string"
},
"patient_id": {
"type": "integer"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Failed to retrieve notes"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "notes",
"toolName": "provider_get_get_note_patient"
},
{
"path": "/appointment-status/{id}/{status}",
"method": "PUT",
"operationId": "updateAppointmentStatus",
"summary": "Update appointment status",
"description": "Updates the status of an appointment",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
},
{
"name": "status",
"in": "path",
"required": true,
"type": "string",
"description": "New status for the appointment"
}
],
"requestBody": null,
"responses": {
"204": {
"description": "Appointment status updated successfully (No Content)",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "status updated !"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to update appointment status"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_update_appointment_status"
},
{
"path": "/api/patient-data/{id}",
"method": "GET",
"operationId": "getAssistantPatientData",
"summary": "Get patient data",
"description": "Retrieves detailed information about a patient",
"tags": [
"Patient Data"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Patient data retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"patient": {
"type": "object"
},
"patientExtra": {
"type": "object"
},
"insurance": {
"type": "object"
},
"address": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Patient not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_patient_data"
},
{
"path": "/api/get-patient-forms-list/{pid}",
"method": "GET",
"operationId": "getPatientIntakeSimpleFormList",
"summary": "Get patient intake simple forms list",
"description": "Retrieves a list of simple intake forms for a specific patient",
"tags": [
"Forms"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Forms list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"forms": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_forms_list"
},
{
"path": "/api/get-all-forms",
"method": "GET",
"operationId": "getAllForms",
"summary": "Get all forms",
"description": "Retrieves a list of all available forms",
"tags": [
"Forms"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Forms list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"forms": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_all_forms"
},
{
"path": "/api/get-prescription-list/{patient_id}",
"method": "GET",
"operationId": "getPrescriptionList",
"summary": "Get patient prescription list",
"description": "Retrieves a list of prescriptions for a specific patient",
"tags": [
"Patient Data"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Prescription list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"prescriptions": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_get_prescription_list"
},
{
"path": "/api/assistant/store-intake-form-data",
"method": "POST",
"operationId": "storeAssistantIntakeFormData",
"summary": "Store intake form data",
"description": "Stores data from a patient intake form",
"tags": [
"Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"form_id",
"pid",
"schema",
"orginal_form_schema"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 123
},
"practitioner_id": {
"type": "integer",
"example": 456
},
"schema": {
"description": "JSON schema of the form",
"type": "string"
},
"orginal_form_schema": {
"description": "Original form schema",
"type": "string"
},
"signatureMetaData": {
"description": "Signature metadata",
"type": "string"
},
"file_field_name": {
"description": "File upload fields (multiple can be included)",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form data updated successfully"
},
"201": {
"description": "Form data stored successfully"
},
"400": {
"description": "Invalid input"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_assistant_store_intake_form_data"
},
{
"path": "/api/assistant/store-form",
"method": "POST",
"operationId": "assistantFormDataStore",
"summary": "Store form data",
"description": "Creates a new form template",
"tags": [
"Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"type",
"data",
"name"
],
"properties": {
"type": {
"type": "string",
"example": "consent-forms"
},
"data": {
"description": "Form structure and fields",
"type": "object"
},
"name": {
"type": "string",
"example": "Patient Consent Form"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"form": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid input"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_assistant_store_form"
},
{
"path": "/api/store-company",
"method": "POST",
"operationId": "updateCompanyAssistant",
"summary": "Update company information",
"description": "Updates company profile information and logo",
"tags": [
"Assistant"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Health Guru Hub"
},
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"website": {
"type": "string"
},
"logo": {
"description": "Company logo",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Company information updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"409": {
"description": "Error updating company information",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "error"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "assistant",
"toolName": "provider_create_store_company"
},
{
"path": "/api/assistant/update-form/{id}",
"method": "PUT",
"operationId": "updateAssistantForm",
"summary": "Update form",
"description": "Updates an existing form template",
"tags": [
"Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"type",
"data",
"name"
],
"properties": {
"type": {
"type": "string",
"example": "consent-forms"
},
"data": {
"description": "Form structure and fields",
"type": "object"
},
"name": {
"type": "string",
"example": "Updated Patient Consent Form"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"form": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Form not found",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "404"
},
"message": {
"type": "string",
"example": "Form not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_update_assistant_update_form"
},
{
"path": "/api/save-category",
"method": "POST",
"operationId": "storeCategory",
"summary": "Store product category",
"description": "Creates a new product category",
"tags": [
"Products"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Supplements"
},
"description": {
"type": "string",
"example": "Nutritional supplements and vitamins"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Category stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"category": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_save_category"
},
{
"path": "/api/update-category/{id}",
"method": "POST",
"operationId": "updateCategory",
"summary": "Update product category",
"description": "Updates an existing product category",
"tags": [
"Products"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Category ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Updated Supplements"
},
"description": {
"type": "string",
"example": "Updated description"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Category updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"category": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Category not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_update_category"
},
{
"path": "/api/save-product",
"method": "POST",
"operationId": "assistantSaveProduct",
"summary": "Save product",
"description": "Creates a new product",
"tags": [
"Products"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"price",
"category_id"
],
"properties": {
"name": {
"type": "string",
"example": "Vitamin D3"
},
"description": {
"type": "string",
"example": "Vitamin D3 supplement"
},
"price": {
"type": "number",
"format": "float",
"example": 19.99
},
"category_id": {
"type": "integer",
"example": 1
},
"sku": {
"type": "string",
"example": "VIT-D3-1000"
},
"stock_quantity": {
"type": "integer",
"example": 100
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Product saved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"product": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_save_product"
},
{
"path": "/api/update-product/{id}",
"method": "POST",
"operationId": "updateProduct",
"summary": "Update product",
"description": "Updates an existing product",
"tags": [
"Products"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Product ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"price",
"category_id"
],
"properties": {
"name": {
"type": "string",
"example": "Updated Vitamin D3"
},
"description": {
"type": "string",
"example": "Updated description"
},
"price": {
"type": "number",
"format": "float",
"example": 24.99
},
"category_id": {
"type": "integer",
"example": 1
},
"sku": {
"type": "string",
"example": "VIT-D3-1000-UPD"
},
"stock_quantity": {
"type": "integer",
"example": 150
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Product updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"product": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Product not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_update_product"
},
{
"path": "/api/assistant/save-signature",
"method": "POST",
"operationId": "assistantStoreSignature",
"summary": "Store signature",
"description": "Stores a provider's signature via assistant API",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"signature_data"
],
"properties": {
"signature_data": {
"description": "Base64 encoded signature image",
"type": "string"
},
"provider_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Signature stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_assistant_save_signature"
},
{
"path": "/api/save-payment-method",
"method": "POST",
"operationId": "storePaymentMethodConfigAssistant",
"summary": "Store payment method configuration",
"description": "Stores payment method configuration settings",
"tags": [
"Assistant"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"payment_method"
],
"properties": {
"payment_method": {
"type": "string",
"example": "stripe"
},
"api_key": {
"type": "string"
},
"secret_key": {
"type": "string"
},
"is_active": {
"type": "boolean"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Payment method configuration stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "assistant",
"toolName": "provider_create_save_payment_method"
},
{
"path": "/api/company/complete/setup/{status}",
"method": "PUT",
"operationId": "completeSetupAssistant",
"summary": "Complete company setup",
"description": "Marks the company setup process as complete or incomplete",
"tags": [
"Assistant"
],
"parameters": [
{
"name": "status",
"in": "path",
"required": true,
"type": "string",
"description": "Setup status (complete or incomplete)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Setup status updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid status",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "assistant",
"toolName": "provider_update_company_complete_setup"
},
{
"path": "/api/get-appointment-list-date",
"method": "POST",
"operationId": "getAppointmentListByDate",
"summary": "Get appointment list by date",
"description": "Retrieves a list of appointments filtered by date",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"date": {
"type": "string",
"format": "date",
"example": "2023-07-01"
},
"practitioner_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Appointment list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Appointment list"
},
"appointments": {
"type": "array",
"items": {
"type": "object"
}
},
"googel_events": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_get_appointment_list_date"
},
{
"path": "/api/get-appointment-by-id",
"method": "POST",
"operationId": "getAppointmentByID",
"summary": "Get appointment by ID",
"description": "Retrieves details of a specific appointment",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"appointment_id"
],
"properties": {
"appointment_id": {
"type": "integer",
"example": 123
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Appointment retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"404": {
"description": "Appointment not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_get_appointment_by_id"
},
{
"path": "/api/update-intake-form-data",
"method": "POST",
"operationId": "updateIntakeFormData",
"summary": "Update intake form data",
"description": "Updates data in a patient intake form",
"tags": [
"Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"form_id",
"pid",
"data"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 123
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form data updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string"
},
"form": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_update_intake_form_data"
},
{
"path": "/api/form-pdf-save",
"method": "POST",
"operationId": "saveFormFile",
"summary": "Save form file",
"description": "Saves a PDF file for a form",
"tags": [
"Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"form_id",
"pdf_data"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pdf_data": {
"description": "Base64 encoded PDF data",
"type": "string"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form file saved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_form_pdf_save"
},
{
"path": "/api/provider-add-availability",
"method": "POST",
"operationId": "storeProviderAvailability",
"summary": "Store provider availability",
"description": "Creates a new provider availability time slot or event",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"title",
"start",
"end",
"type"
],
"properties": {
"title": {
"type": "string",
"example": "Available"
},
"start": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T09:00:00"
},
"end": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T17:00:00"
},
"type": {
"description": "availability or event",
"type": "string",
"example": "availability"
},
"comment": {
"type": "string"
},
"practitioner_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Provider availability created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Provider availability created successfully"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_provider_add_availability"
},
{
"path": "/api/assistant/practitioners-list",
"method": "GET",
"operationId": "assistantPractitioner",
"summary": "Get practitioners list via assistant",
"description": "Retrieves a list of practitioners for the current provider through the assistant API",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Practitioners list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Practitioner list!"
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer"
},
"uuid": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"type": {
"type": "string"
},
"fname": {
"type": "string"
},
"lname": {
"type": "string"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_assistant_practitioners_list"
},
{
"path": "/save-payment-method",
"method": "POST",
"operationId": "storePaymentMethodConfigProvider",
"summary": "Save payment method configuration",
"description": "Store or update payment method configuration for the provider",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"config"
],
"properties": {
"name": {
"type": "string",
"example": "Stripe"
},
"config": {
"type": "object",
"example": {
"api_key": "sk_test_123",
"public_key": "pk_test_456"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Payment method configuration saved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Updated Successfully!"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_save_payment_method"
},
{
"path": "/emr-api/provider-wizard-setup",
"method": "GET",
"operationId": "getCounts",
"summary": "Get provider setup counts",
"description": "Get counts of various setup items for the provider wizard",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"total_form": {
"type": "integer",
"example": 5
},
"signature_count": {
"type": "integer",
"example": 1
},
"product_count": {
"type": "integer",
"example": 10
},
"product_cate_count": {
"type": "integer",
"example": 3
},
"affliate_product_count": {
"type": "integer",
"example": 2
},
"sync_google_account": {
"type": "boolean",
"example": true
},
"payment_method_setup": {
"type": "boolean",
"example": true
},
"on_your_domain": {
"type": "boolean",
"example": true
},
"method": {
"type": "object",
"nullable": true
},
"company": {
"type": "object",
"nullable": true
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_provider_wizard_setup"
},
{
"path": "/emr-api/company/complete/setup/{status}",
"method": "PUT",
"operationId": "completeSetup",
"summary": "Complete provider setup",
"description": "Mark provider setup as complete or incomplete",
"tags": [
"Company"
],
"parameters": [
{
"name": "status",
"in": "path",
"required": true,
"type": "integer",
"description": "Setup status (1 for complete, 0 for incomplete)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Setup status updated successfully",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "company",
"toolName": "provider_update_company_complete_setup"
},
{
"path": "/emr-api/company/status",
"method": "GET",
"operationId": "getCompanyStatus",
"summary": "Get company status",
"description": "Get the current company status",
"tags": [
"Company"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "company",
"toolName": "provider_get_company_status"
},
{
"path": "/emr-api/store-company",
"method": "POST",
"operationId": "updateCompany",
"summary": "Update company information",
"description": "Update company details including logo, contact information, and domain settings",
"tags": [
"Company"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"id",
"company_name",
"company_email"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"company_name": {
"type": "string",
"example": "Health Clinic"
},
"company_phone": {
"type": "string",
"example": "1234567890"
},
"company_email": {
"type": "string",
"format": "email",
"example": "info@healthclinic.com"
},
"address": {
"type": "string",
"example": "123 Main St"
},
"domain_name": {
"type": "string",
"example": "healthclinic.com"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zip": {
"type": "string",
"example": "10001"
},
"header_scripts": {
"type": "string"
},
"footer_scripts": {
"type": "string"
},
"logo": {
"type": "string",
"format": "binary"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Company updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"409": {
"description": "Email already exists",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "error"
},
"message": {
"type": "string",
"example": "Email Already Exists!"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "company",
"toolName": "provider_create_store_company"
},
{
"path": "/emr-api/get-company",
"method": "GET",
"operationId": "getCompany",
"summary": "Get company information",
"description": "Get detailed information about the provider's company",
"tags": [
"Company"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "company",
"toolName": "provider_get_get_company"
},
{
"path": "/api/save-signature",
"method": "POST",
"operationId": "storeSignature",
"summary": "Save provider signature",
"description": "Store or update the provider's signature",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"signature"
],
"properties": {
"signature": {
"type": "string",
"example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Signature saved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Updated Successfully!"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The signature field is required."
},
"errors": {
"properties": {
"signature": {
"type": "array",
"items": {
"type": "string"
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_save_signature"
},
{
"path": "/api/provider/practitioners-list",
"method": "GET",
"operationId": "providerPractitioner",
"summary": "Get practitioners list",
"description": "Get a list of practitioners associated with the provider",
"tags": [
"Provider"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "array",
"items": {
"type": "object"
}
},
"message": {
"type": "string",
"example": "Practitioner list!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_provider_practitioners_list"
},
{
"path": "/api/provider/auth/logout",
"method": "POST",
"operationId": "logout",
"summary": "Logout provider",
"description": "Invalidate the provider's access token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successfully logged out",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "User logged out successfully"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid or missing token",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid access token"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "authentication",
"toolName": "provider_create_provider_auth_logout"
},
{
"path": "/api/emr/appointment/{id}/cancel",
"method": "POST",
"operationId": "cancelAppointment",
"summary": "Cancel an appointment",
"description": "Updates the status of an appointment to cancelled",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Appointment cancelled successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Appointment cancelled successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Appointment not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Appointment not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "An error occurred while cancelling the appointment"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_appointment_cancel"
},
{
"path": "/api/emr/appointment/{appointment_id}/order",
"method": "GET",
"operationId": "getAppointmentOrder",
"summary": "Get appointment order details",
"description": "Retrieves order details associated with an appointment",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "appointment_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Order details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"order_id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 123
},
"provider_id": {
"type": "integer",
"example": 456
},
"shipping_address1": {
"type": "string",
"example": "123 Main St"
},
"shipping_address2": {
"type": "string",
"example": "Apt 4B"
},
"shipping_city": {
"type": "string",
"example": "New York"
},
"shipping_state": {
"type": "string",
"example": "NY"
},
"shipping_zipcode": {
"type": "string",
"example": "10001"
},
"shipping_country": {
"type": "string",
"example": "USA"
},
"shipping_amount": {
"type": "string",
"example": "5.99"
},
"builder_id": {
"type": "integer",
"example": 789
},
"total_amount": {
"type": "string",
"example": "99.99"
},
"discounted_amount": {
"type": "string",
"example": "89.99"
},
"promo_code": {
"type": "string",
"example": "SAVE10"
},
"items": {
"type": "array",
"items": {
"properties": {
"product_id": {
"type": "integer",
"example": 101
},
"product_name": {
"type": "string",
"example": "Medication A"
},
"qty": {
"type": "integer",
"example": 2
},
"subscription": {
"type": "string",
"example": "true"
},
"onetime": {
"type": "string",
"example": "false"
},
"variation_id": {
"type": "integer",
"example": 201
},
"variation_name": {
"type": "string",
"example": "100mg"
},
"price": {
"type": "string",
"example": "49.99"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Appointment or order not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Appointment not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Error retrieving order details"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_order"
},
{
"path": "/api/emr/appointment/list-by-date",
"method": "GET",
"operationId": "getAppointmentListByDateProvider",
"summary": "Get appointments by date range",
"description": "Retrieves a list of appointments within a specified date range",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "start_date",
"in": "query",
"required": true,
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
{
"name": "end_date",
"in": "query",
"required": true,
"type": "string",
"description": "End date (YYYY-MM-DD)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "List of appointments",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Appointment list"
},
"appointments": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"practitioner": {
"type": "string",
"example": "John Doe"
},
"practitioner_id": {
"type": "integer",
"example": 123
},
"patient": {
"type": "string",
"example": "Jane Smith"
},
"patient_id": {
"type": "integer",
"example": 456
},
"title": {
"type": "string",
"example": "Follow-up Appointment"
},
"start": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T14:30:00.000Z"
},
"end": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T15:00:00.000Z"
},
"date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"start_time": {
"type": "string",
"example": "02:30 pm"
},
"end_time": {
"type": "string",
"example": "03:00 pm"
},
"allDay": {
"type": "boolean",
"example": false
},
"status": {
"type": "string",
"example": "booked"
},
"service": {
"type": "string",
"example": "Consultation"
},
"location": {
"type": "string",
"example": "Main Clinic"
},
"room": {
"type": "string",
"example": "Room 3B"
},
"appointment_type": {
"type": "string",
"example": "Follow-up"
},
"payment_type": {
"type": "string",
"example": "Insurance"
},
"notes": {
"type": "string",
"example": "Patient requested late afternoon appointment"
},
"url": {
"type": "string",
"example": ""
},
"extendedProps": {
"properties": {
"calendar": {
"type": "string",
"example": "Business"
}
},
"type": "object"
}
},
"type": "object"
}
},
"googel_events": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_list_by_date"
},
{
"path": "/api/emr/appointment/transcribe/{patient_id}",
"method": "GET",
"operationId": "getAppointmentTranscribe",
"summary": "Get appointment transcriptions",
"description": "Retrieves transcription data for a patient's appointments",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Appointment transcriptions",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"pc_pid": {
"type": "integer",
"example": 123
},
"date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"patient": {
"type": "string",
"example": "Jane Smith"
},
"practitioner": {
"type": "string",
"example": "Dr. John Doe"
},
"transcription": {
"properties": {
"text": {
"type": "string",
"example": "Patient reports improved symptoms..."
},
"status": {
"type": "string",
"example": "completed"
},
"summary": {
"type": "string",
"example": "Follow-up for hypertension..."
},
"notes": {
"type": "array",
"items": {
"properties": {
"subjective": {
"type": "string"
},
"objective": {
"type": "string"
},
"assessment": {
"type": "string"
},
"plan": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"type": "object"
}
}
},
"type": "object"
},
"recording_url": {
"type": "string",
"format": "uri"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_transcribe"
},
{
"path": "/api/emr/appointment/patient/{patient_id}/list",
"method": "GET",
"operationId": "getPatientApptList",
"summary": "Get patient appointment list",
"description": "Retrieves a list of appointments for a specific patient",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "List of patient appointments",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 5
},
"recordsFiltered": {
"type": "integer",
"example": 5
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"title": {
"type": "string",
"example": "Initial Consultation"
},
"date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"start_time": {
"type": "string",
"example": "14:30:00"
},
"start": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T14:30:00.000Z"
},
"end_time": {
"type": "string",
"example": "15:00:00"
},
"status": {
"type": "string",
"example": "booked"
},
"timezone": {
"type": "string",
"example": "America/New_York"
},
"notes": {
"type": "string",
"example": "Initial consultation for new patient"
},
"fname": {
"type": "string",
"example": "Jane"
},
"lname": {
"type": "string",
"example": "Smith"
},
"practitioner": {
"type": "string",
"example": "Dr. John Doe"
},
"practitioner_id": {
"type": "integer",
"example": 456
},
"facility_id": {
"type": "integer",
"example": 789
},
"room": {
"type": "string",
"example": "Room 3B"
},
"patient": {
"type": "string",
"example": "Jane Smith"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_patient_list"
},
{
"path": "/api/emr/appointment/{appointment}/detail",
"method": "GET",
"operationId": "getAppointmentDetailUnique",
"summary": "Get appointment details",
"description": "Fetches detailed information about an appointment",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "appointment",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Appointment details",
"content": {
"application/json": {
"schema": {
"properties": {
"appointment": {
"description": "Appointment information",
"type": "object"
},
"telemedPro": {
"description": "Telemed professional information",
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_detail"
},
{
"path": "/api/emr/appointment/queue/{patientId}",
"method": "POST",
"operationId": "addPatientToQueue",
"summary": "Add patient to queue",
"description": "Adds a patient to the appointment queue",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successfully added to queue",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Added to queue"
},
"queue_number": {
"type": "integer",
"example": 3
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_appointment_queue"
},
{
"path": "/api/emr/appointment/doctor/patient/{patientId}",
"method": "GET",
"operationId": "getDoctorAppointmentsByPatientId",
"summary": "Get doctor appointments by patient ID",
"description": "Retrieves all doctor appointments for a specific patient",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "List of doctor appointments",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"first_name": {
"type": "string",
"example": "Jane"
},
"last_name": {
"type": "string",
"example": "Smith"
},
"id": {
"type": "integer",
"example": 1
},
"doctor_id": {
"type": "integer",
"example": 456
},
"patient_id": {
"type": "integer",
"example": 123
},
"appointment_date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"appointment_time": {
"type": "string",
"example": "14:30:00"
},
"status": {
"type": "string",
"example": "confirmed"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-10T10:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-10T10:00:00Z"
}
},
"type": "object"
}
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Failed to retrieve appointments",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to retrieve appointments"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_doctor_patient"
},
{
"path": "/api/emr/appointment/patient/carts-items",
"method": "GET",
"operationId": "getPatientAppointmentsWithCartsAndItems",
"summary": "Get patient appointments with carts and items",
"description": "Retrieves all appointments with associated carts and items for the authenticated patient",
"tags": [
"Appointments"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "List of appointments with carts and items",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "Success"
},
"appointments": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"telemed_pros_id": {
"type": "integer",
"example": 456
},
"patient_id": {
"type": "integer",
"example": 123
},
"appointment_time": {
"type": "string",
"example": "14:30:00"
},
"in_call": {
"type": "boolean",
"example": false
},
"meeting_id": {
"type": "string",
"example": "meet-abc-123"
},
"agent_call_token": {
"type": "string"
},
"patient_call_token": {
"type": "string"
},
"video_token": {
"type": "string"
},
"appointment_date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"patient_email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"patient_name": {
"type": "string",
"example": "Jane Smith"
},
"timezone": {
"type": "string",
"example": "America/New_York"
},
"analytics": {
"type": "string"
},
"start_time": {
"type": "string",
"example": "14:30:00"
},
"end_time": {
"type": "string",
"example": "15:00:00"
},
"duration": {
"type": "integer",
"example": 30
},
"carts": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 101
},
"first_name": {
"type": "string",
"example": "Jane"
},
"last_name": {
"type": "string",
"example": "Smith"
},
"email": {
"type": "string",
"format": "email",
"example": "jane.smith@example.com"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"status": {
"type": "string",
"example": "active"
},
"items": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 201
},
"status": {
"type": "string",
"example": "active"
},
"labkit_delivery_status": {
"type": "string",
"example": "delivered"
},
"plan": {
"properties": {
"title": {
"type": "string",
"example": "Health Plan Premium"
},
"currency": {
"type": "string",
"example": "USD"
},
"price": {
"type": "number",
"format": "float",
"example": 99.99
}
},
"type": "object"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_patient_carts_items"
},
{
"path": "/api/emr/appointment/report/last-30-days",
"method": "GET",
"operationId": "last30DaysAppointmentsData",
"summary": "Get appointment data for last 30 days",
"description": "Retrieves appointment statistics and data for the specified date range",
"tags": [
"Appointment Reports"
],
"parameters": [
{
"name": "start_date",
"in": "query",
"required": true,
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
{
"name": "end_date",
"in": "query",
"required": true,
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
{
"name": "provider",
"in": "query",
"required": false,
"type": "string",
"description": "Provider ID or 'all' for all providers"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Appointment report data",
"content": {
"application/json": {
"schema": {
"properties": {
"totalPatients": {
"type": "integer",
"example": 45
},
"totalAppointments": {
"type": "integer",
"example": 72
},
"appointments": {
"type": "array",
"items": {
"properties": {
"name": {
"type": "string",
"example": "Initial Consultation"
},
"data": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"type": "object"
}
},
"monthly": {
"type": "array",
"items": {
"type": "string",
"example": "May 15"
}
},
"monthlyData": {
"type": "array",
"items": {
"type": "integer"
}
},
"startDate": {
"type": "string",
"format": "date",
"example": "2023-05-01"
},
"endDate": {
"type": "string",
"format": "date",
"example": "2023-05-30"
},
"provider": {
"type": "string",
"example": "all"
},
"providerAppointments": {
"type": "array",
"items": {
"type": "integer"
}
},
"providersName": {
"type": "array",
"items": {
"type": "string",
"example": "Dr. John Doe"
}
},
"appointmentTypes": {
"type": "array",
"items": {
"type": "string",
"example": "Follow-up"
}
},
"typeValue": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Start date cannot be later than end date"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_report_last_30_days"
},
{
"path": "/api/emr/appointment/agent/{appointment}",
"method": "GET",
"operationId": "getAgentAppointment",
"summary": "Get agent appointment details",
"description": "Retrieves detailed information about an agent's appointment",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "appointment",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Agent appointment details",
"content": {
"application/json": {
"schema": {
"properties": {
"first_name": {
"type": "string",
"example": "Jane"
},
"last_name": {
"type": "string",
"example": "Smith"
},
"agent_name": {
"type": "string",
"example": "John Doe"
},
"id": {
"type": "integer",
"example": 1
},
"telemed_pros_id": {
"type": "integer",
"example": 456
},
"patient_id": {
"type": "integer",
"example": 123
},
"appointment_time": {
"type": "string",
"example": "14:30:00"
},
"in_call": {
"type": "boolean",
"example": false
},
"meeting_id": {
"type": "string",
"example": "meet-abc-123"
},
"appointment_date": {
"type": "string",
"format": "date",
"example": "2023-05-15"
},
"patient_email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"patient_name": {
"type": "string",
"example": "Jane Smith"
},
"timezone": {
"type": "string",
"example": "America/New_York"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-10T10:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-10T10:00:00Z"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Failed to retrieve appointments",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to retrieve appointments"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_get_appointment_agent"
},
{
"path": "/api/emr/appointment/{appointment}/update-meeting-analysis",
"method": "POST",
"operationId": "updateMeetingAnalysis",
"summary": "Update meeting analysis",
"description": "Updates the analytics data for an appointment meeting",
"tags": [
"Appointments"
],
"parameters": [
{
"name": "appointment",
"in": "path",
"required": true,
"type": "integer",
"description": "Appointment ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"description": "Meeting analytics data",
"type": "object"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Analytics updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "success"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Appointment not found"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "appointments",
"toolName": "provider_create_appointment_update_meeting_analysis"
},
{
"path": "/api/document/download/{rowId}/{key}",
"method": "GET",
"operationId": "downloadDocument",
"summary": "Download a patient document",
"description": "Downloads a specific document from patient intake form data",
"tags": [
"Documents"
],
"parameters": [
{
"name": "rowId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the intake form record"
},
{
"name": "key",
"in": "path",
"required": true,
"type": "string",
"description": "Key identifier for the document in the form data"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Document file download",
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Document not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Not Found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Server Error"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "documents",
"toolName": "provider_get_document_download"
},
{
"path": "/api/render/pdf/{rowId}",
"method": "GET",
"operationId": "renderPdf",
"summary": "Render a PDF document",
"description": "Renders a PDF document from a patient intake form",
"tags": [
"Documents"
],
"parameters": [
{
"name": "rowId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the intake form record"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "PDF document stream",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "PDF not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Not Found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Server Error"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "documents",
"toolName": "provider_get_render_pdf"
},
{
"path": "/api/add-email/{patient_id}",
"method": "POST",
"operationId": "addEmail",
"summary": "Add a new email for a patient",
"description": "Creates a new email record associated with a specific patient",
"tags": [
"Emails"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"to_email",
"subject",
"messageText"
],
"properties": {
"practitioner": {
"description": "User ID of the practitioner",
"type": "integer",
"example": 1
},
"messageText": {
"type": "string",
"example": "This is the email body text"
},
"to_email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"from_email": {
"type": "string",
"format": "email",
"example": "doctor@healthguruhub.com"
},
"emailTemplate": {
"description": "Template name used for the email",
"type": "string",
"example": "Appointment Reminder"
},
"subject": {
"type": "string",
"example": "Your upcoming appointment"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Email added successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Email added."
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "emails",
"toolName": "provider_create_add_email"
},
{
"path": "/api/get-email-list/{patient_id}",
"method": "GET",
"operationId": "getEmailList",
"summary": "Get email list for a patient",
"description": "Retrieves all emails associated with a specific patient with pagination support via DataTables",
"tags": [
"Emails"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
},
{
"name": "draw",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables draw counter"
},
{
"name": "start",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables start offset"
},
{
"name": "length",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables page length"
},
{
"name": "search[value]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables search value"
},
{
"name": "order[0][column]",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables column index for ordering"
},
{
"name": "order[0][dir]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables order direction (asc/desc)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"subject_id": {
"type": "integer",
"example": 1
},
"practitioner_name": {
"type": "string",
"example": "John Doe"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
},
"messageText": {
"type": "string",
"example": "This is the email body text"
},
"to_email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"from_email": {
"type": "string",
"format": "email",
"example": "doctor@healthguruhub.com"
},
"emailTemplate": {
"type": "string",
"example": "Appointment Reminder"
},
"subject": {
"type": "string",
"example": "Your upcoming appointment"
},
"pid": {
"type": "integer",
"example": 42
},
"date": {
"type": "string",
"format": "date",
"example": "2025-07-01"
},
"DT_RowIndex": {
"type": "integer",
"example": 0
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to fetch emails: Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "emails",
"toolName": "provider_get_get_email_list"
},
{
"path": "/api/get-email/{id}",
"method": "GET",
"operationId": "getEmailById",
"summary": "Get an email by ID",
"description": "Retrieves a specific email record by its ID",
"tags": [
"Emails"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the email to retrieve"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 42
},
"user_id": {
"type": "integer",
"example": 1
},
"messageText": {
"type": "string",
"example": "This is the email body text"
},
"to_email": {
"type": "string",
"format": "email",
"example": "patient@example.com"
},
"from_email": {
"type": "string",
"format": "email",
"example": "doctor@healthguruhub.com"
},
"emailTemplate": {
"type": "string",
"example": "Appointment Reminder"
},
"subject": {
"type": "string",
"example": "Your upcoming appointment"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Email not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "emails",
"toolName": "provider_get_get_email"
},
{
"path": "/api/get-forms/{type}",
"method": "GET",
"operationId": "getForms",
"summary": "Get forms by type",
"description": "Retrieves all forms of a specific type for the authenticated provider",
"tags": [
"Forms Management"
],
"parameters": [
{
"name": "type",
"in": "path",
"required": true,
"type": "string",
"description": "Form type (simple-forms, consent-forms, charting-forms, etc.)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Forms retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "simple-forms"
},
"name": {
"type": "string",
"example": "Patient Intake Form"
},
"data": {
"type": "object"
},
"provider_id": {
"type": "integer",
"example": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_forms"
},
{
"path": "/api/get-form/{id}",
"method": "GET",
"operationId": "getFormById",
"summary": "Get form by ID",
"description": "Retrieves a specific form by its ID",
"tags": [
"Forms Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "success"
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "simple-forms"
},
"name": {
"type": "string",
"example": "Patient Intake Form"
},
"data": {
"type": "object"
},
"provider_id": {
"type": "integer",
"example": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Form not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_form"
},
{
"path": "/api/update-form/{id}",
"method": "PUT",
"operationId": "updateForm",
"summary": "Update form",
"description": "Updates an existing form with the provided data",
"tags": [
"Forms Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"type",
"data",
"name"
],
"properties": {
"type": {
"description": "Form type (simple-forms, consent-forms, charting-forms, etc.)",
"type": "string",
"example": "simple-forms"
},
"data": {
"description": "Form structure and fields",
"type": "object"
},
"name": {
"type": "string",
"example": "Updated Patient Intake Form"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form updated successfully"
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "simple-forms"
},
"name": {
"type": "string",
"example": "Updated Patient Intake Form"
},
"data": {
"type": "object"
},
"provider_id": {
"type": "integer",
"example": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Form not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Error updating form"
},
"error": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_update_update_form"
},
{
"path": "/api/delete-form/{id}",
"method": "DELETE",
"operationId": "deleteForm",
"summary": "Delete form",
"description": "Deletes a form by its ID",
"tags": [
"Forms Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form deleted successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "success"
},
"data": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Form not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Error deleting form"
},
"error": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_delete_delete_form"
},
{
"path": "/api/get-patient-intake-form-data/{form_id}/{pid}/{rowId}",
"method": "GET",
"operationId": "getIntakeFormData",
"summary": "Get patient intake form data",
"description": "Retrieves specific intake form data for a patient",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "form_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
},
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
},
{
"name": "rowId",
"in": "path",
"required": true,
"type": "integer",
"description": "Row ID of the specific form submission"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form data retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"404": {
"description": "Form data not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_intake_form_data"
},
{
"path": "/api/get-patient-intake-form-latest-data/{form_id}/{pid}",
"method": "GET",
"operationId": "getIntakeFormLatestData",
"summary": "Get latest intake form data",
"description": "Retrieves the latest intake form data for a patient, or pre-filled data if no submission exists",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "form_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
},
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form data retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
}
},
"404": {
"description": "Form not found or invalid type",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Form not found or invalid type"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_intake_form_latest_data"
},
{
"path": "/api/get-patient-submitted-intake-forms/{pid}",
"method": "GET",
"operationId": "getMergedFormData",
"summary": "Get all submitted forms for a patient",
"description": "Retrieves all intake and consent forms submitted by a patient",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Forms data retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"intake_form_id": {
"type": "integer",
"example": 1
},
"provider_id": {
"type": "integer",
"example": 1
},
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"data": {
"type": "object"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"form_name": {
"type": "string",
"example": "Patient Intake Form"
},
"signature": {
"type": "string",
"example": ""
},
"name": {
"type": "string",
"example": ""
},
"type": {
"type": "string",
"example": "Intake"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_submitted_intake_forms"
},
{
"path": "/api/get-patient-intake-form-list/{type}/{pid}",
"method": "GET",
"operationId": "getPatientIntakeFormList",
"summary": "Get patient intake forms by type",
"description": "Retrieves a list of patient intake forms of a specific type",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "type",
"in": "path",
"required": true,
"type": "string",
"description": "Form type (simple-forms, consent-forms, charting-forms, etc.)"
},
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form list retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"provider_id": {
"type": "integer",
"example": 1
},
"data": {
"type": "object"
},
"schema": {
"type": "object"
},
"practitioner_id": {
"type": "integer",
"example": 3
},
"pdf_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"name": {
"type": "string",
"example": "Patient Intake Form"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_intake_form_list"
},
{
"path": "/api/update-form-status",
"method": "PUT",
"operationId": "updateFormRequestStatus",
"summary": "Update form request status",
"description": "Updates the status of a patient's form request",
"tags": [
"Patient Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"form_id",
"patient_id",
"status"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 2
},
"status": {
"type": "string",
"example": "completed"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Status updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Status updated successfully"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Form request not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Form request not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_update_update_form_status"
},
{
"path": "/api/get-intake-forms-list",
"method": "GET",
"operationId": "getIntakeFormList",
"summary": "Get intake forms list",
"description": "Retrieves a list of all intake question forms",
"tags": [
"Intake Forms"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "List retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "Medical History Form"
}
},
"type": "object"
}
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_intake_forms_list"
},
{
"path": "/api/store-patient-consent-form",
"method": "POST",
"operationId": "storePatientConsentForm",
"summary": "Store patient consent form",
"description": "Stores a new patient consent form submission",
"tags": [
"Consent Forms"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"form_id",
"pid",
"data",
"name",
"signature"
],
"properties": {
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"data": {
"type": "object"
},
"name": {
"type": "string",
"example": "John Doe"
},
"signature": {
"type": "string",
"example": "base64encoded-signature-data"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Form stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"form_id": {
"type": "integer",
"example": 1
},
"pid": {
"type": "integer",
"example": 2
},
"provider_id": {
"type": "integer",
"example": 1
},
"data": {
"type": "string"
},
"name": {
"type": "string",
"example": "John Doe"
},
"signature": {
"type": "string",
"example": "base64encoded-signature-data"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_store_patient_consent_form"
},
{
"path": "/api/store-form",
"method": "POST",
"operationId": "formDataStore",
"summary": "Store a new form",
"description": "Creates a new form (intake, consent, etc.)",
"tags": [
"Forms Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"type",
"data",
"name"
],
"properties": {
"type": {
"description": "Form type (simple-forms, consent-forms, charting-forms, etc.)",
"type": "string",
"example": "simple-forms"
},
"data": {
"description": "Form structure and fields",
"type": "object"
},
"name": {
"type": "string",
"example": "New Patient Intake Form"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Form created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form created successfully"
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "simple-forms"
},
"name": {
"type": "string",
"example": "New Patient Intake Form"
},
"data": {
"type": "object"
},
"provider_id": {
"type": "integer",
"example": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Form not created"
},
"error": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_create_store_form"
},
{
"path": "/api/delete-intake-question/{form_id}",
"method": "DELETE",
"operationId": "deleteIntakeQuestionById",
"summary": "Delete intake question",
"description": "Deletes an intake question by its ID",
"tags": [
"Intake Forms"
],
"parameters": [
{
"name": "form_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Intake question ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Question deleted successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Question Deleted"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Question not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Question not found!"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_delete_delete_intake_question"
},
{
"path": "/api/get-intake-forms-data/{form_id}",
"method": "GET",
"operationId": "getQuestionFormIntakeById",
"summary": "Get intake form data by ID",
"description": "Retrieves the data of a specific intake form",
"tags": [
"Intake Forms"
],
"parameters": [
{
"name": "form_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Form data retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FormsData"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_intake_forms_data"
},
{
"path": "/api/get-document-vue/{patient_id}",
"method": "GET",
"operationId": "getDocumentVue",
"summary": "Get documents for Vue component",
"description": "Initializes VueFinder for displaying patient documents",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "VueFinder initialized (no direct JSON response)"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_document_vue"
},
{
"path": "/api/get-patient-forms/{pid}",
"method": "GET",
"operationId": "getPatientFormList",
"summary": "Get all forms for a patient",
"description": "Retrieves all forms submitted by a patient",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Forms retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PatientIntakeForms"
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_forms"
},
{
"path": "/api/get-patient-questionnaire-form-list/{pid}",
"method": "GET",
"operationId": "getPatientQuestionairForm",
"summary": "Get patient questionnaire forms",
"description": "Retrieves a list of questionnaire forms for a patient",
"tags": [
"Patient Forms"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "List retrieved successfully"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_patient_questionnaire_form_list"
},
{
"path": "/api/get-questioner-forms-data/{form_id}",
"method": "GET",
"operationId": "getQuestionFormQuestionerById",
"summary": "Get questionnaire form data",
"description": "Retrieves data for a specific questionnaire form",
"tags": [
"Intake Forms"
],
"parameters": [
{
"name": "form_id",
"in": "path",
"required": true,
"type": "integer",
"description": "Form ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Data retrieved successfully"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_questioner_forms_data"
},
{
"path": "/api/get-questioner-question/{id}",
"method": "GET",
"operationId": "getQuestionQuestionerById",
"summary": "Get questionnaire question by ID",
"description": "Retrieves a specific questionnaire question by its ID",
"tags": [
"Intake Forms"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Question ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Data retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Data retrieved successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "forms",
"toolName": "provider_get_get_questioner_question"
},
{
"path": "/get-insurance/{patientId}",
"method": "GET",
"operationId": "getInsurance",
"summary": "Get insurance information for a patient",
"description": "Retrieves the insurance details for a specific patient",
"tags": [
"Insurance"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Insurance data retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Insurance Listing"
},
"data": {
"properties": {
"insuranceId": {
"type": "integer",
"example": 1
},
"insuredPlanOrProgramName": {
"type": "string",
"example": "Blue Cross"
},
"insuredIDNumber": {
"type": "string",
"example": "BC123456"
},
"insuredGroupNameNo": {
"type": "string",
"example": "GRP123"
},
"payerName": {
"type": "string",
"example": "John Doe"
},
"relationshiptoInsured": {
"type": "string",
"example": "Self"
},
"insuredDateOfBirth": {
"type": "string",
"format": "date",
"example": "1980-01-01"
},
"payerAddress": {
"type": "string",
"example": "123 Main St"
},
"payerZip": {
"type": "string",
"example": "12345"
},
"payerCity": {
"type": "string",
"example": "Anytown"
},
"payerState": {
"type": "string",
"example": "CA"
},
"payerCountry": {
"type": "string",
"example": "USA"
},
"insuredPhone": {
"type": "string",
"example": "555-123-4567"
},
"coPayment": {
"type": "number",
"format": "float",
"example": 20
},
"type": {
"type": "string",
"example": "primary"
},
"subscriber_mname": {
"type": "string",
"example": ""
},
"subscriber_ss": {
"type": "string",
"example": ""
},
"subscriber_employer": {
"type": "string",
"example": "ABC Company"
},
"subscriber_employer_street": {
"type": "string",
"example": "456 Business Ave"
},
"subscriber_employer_postal_code": {
"type": "string",
"example": "54321"
},
"subscriber_employer_state": {
"type": "string",
"example": "CA"
},
"subscriber_employer_country": {
"type": "string",
"example": "USA"
},
"subscriber_employer_city": {
"type": "string",
"example": "Business City"
},
"date": {
"type": "string",
"format": "date-time",
"example": "2023-01-01 12:00:00"
},
"subscriber_sex": {
"type": "string",
"example": "M"
},
"accept_assignment": {
"type": "string",
"example": ""
},
"policy_type": {
"type": "string",
"example": ""
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Insurance data not found",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "null",
"example": null
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "insurance",
"toolName": "provider_get_get_insurance"
},
{
"path": "/store-insurance/{patientId}",
"method": "POST",
"operationId": "insuranceStore",
"summary": "Store insurance information for a patient",
"description": "Creates or updates insurance information for a specific patient",
"tags": [
"Insurance"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"insuredPlanOrProgramName",
"insuredIDNumber",
"relationshiptoInsured",
"insuredDateOfBirth",
"insuredAddress",
"insuredCity",
"insuredState",
"insuredZip",
"insuredPhone",
"payerName",
"payerID",
"payerAddress",
"payerCity",
"payerState",
"payerZip",
"type"
],
"properties": {
"insurance": {
"type": "string",
"example": "Blue Cross"
},
"insuredPlanOrProgramName": {
"type": "string",
"example": "Blue Cross PPO"
},
"insuredIDNumber": {
"type": "string",
"example": "BC123456"
},
"insuredGroupNameNo": {
"type": "string",
"example": "GRP123"
},
"employersSchoolName": {
"type": "string",
"example": "ABC Company"
},
"relationshiptoInsured": {
"type": "string",
"example": "Self"
},
"insuredName": {
"type": "string",
"example": "John Doe"
},
"insuredDateOfBirth": {
"type": "string",
"format": "date",
"example": "1980-01-01"
},
"insuredGender": {
"type": "string",
"example": "M"
},
"coPayment": {
"type": "number",
"format": "float",
"example": 20
},
"coInsurance": {
"type": "number",
"format": "float",
"example": 20
},
"insuranceDeductible": {
"type": "number",
"format": "float",
"example": 500
},
"insuredAddress": {
"type": "string",
"example": "123 Main St"
},
"insuredCity": {
"type": "string",
"example": "Anytown"
},
"insuredState": {
"type": "string",
"example": "CA"
},
"insuredZip": {
"type": "string",
"example": "12345"
},
"insuredPhone": {
"type": "string",
"example": "555-123-4567"
},
"payerName": {
"type": "string",
"example": "John Doe"
},
"payerID": {
"type": "string",
"example": "PAY123"
},
"payerAddress": {
"type": "string",
"example": "456 Payer St"
},
"payerCity": {
"type": "string",
"example": "Payertown"
},
"payerState": {
"type": "string",
"example": "CA"
},
"payerZip": {
"type": "string",
"example": "54321"
},
"referringProviderName": {
"type": "string",
"example": "Dr. Jane Smith"
},
"referringProviderNPI": {
"type": "string",
"example": "1234567890"
},
"referringProviderTaxonomy": {
"type": "string",
"example": "207Q00000X"
},
"type": {
"type": "string",
"example": "primary"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Insurance created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Insurance created"
},
"status": {
"type": "integer",
"example": 200
},
"data": {
"type": "object"
},
"patientId": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"properties": {
"insuredPlanOrProgramName": {
"type": "array",
"items": {
"type": "string",
"example": "The insurance plan or program name field is required."
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "insurance",
"toolName": "provider_create_store_insurance"
},
{
"path": "/update-insurance/{patientId}",
"method": "PUT",
"operationId": "updateInsurance",
"summary": "Update insurance information for a patient",
"description": "Updates the existing insurance information for a specific patient",
"tags": [
"Insurance"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"insuredPlanOrProgramName",
"insuredIDNumber",
"relationshiptoInsured",
"insuredDateOfBirth",
"insuredAddress",
"insuredCity",
"insuredState",
"insuredZip",
"insuredPhone",
"payerName",
"type"
],
"properties": {
"insuredPlanOrProgramName": {
"type": "string",
"example": "Blue Cross PPO"
},
"insuredIDNumber": {
"type": "string",
"example": "BC123456"
},
"insuredGroupNameNo": {
"type": "string",
"example": "GRP123"
},
"relationshiptoInsured": {
"type": "string",
"example": "Self"
},
"insuredDateOfBirth": {
"type": "string",
"format": "date",
"example": "1980-01-01"
},
"insuredAddress": {
"type": "string",
"example": "123 Main St"
},
"insuredCity": {
"type": "string",
"example": "Anytown"
},
"insuredState": {
"type": "string",
"example": "CA"
},
"insuredZip": {
"type": "string",
"example": "12345"
},
"insuredPhone": {
"type": "string",
"example": "555-123-4567"
},
"payerName": {
"type": "string",
"example": "John Doe"
},
"coPayment": {
"type": "number",
"format": "float",
"example": 20
},
"type": {
"type": "string",
"example": "primary"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Insurance updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Updated Successfully!"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Insurance record not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Insurance record not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "insurance",
"toolName": "provider_update_update_insurance"
},
{
"path": "/inventory",
"method": "GET",
"operationId": "listInventoryItems",
"summary": "Get inventory list",
"description": "Retrieves a list of all inventory items for the current provider",
"tags": [
"Inventory"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 100
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"inventoryType": {
"type": "string",
"example": "Medication"
},
"item_name": {
"type": "string",
"example": "Aspirin 325mg"
},
"manufPartNo": {
"type": "string",
"example": "ASP325"
},
"barcode": {
"type": "string",
"example": "123456789"
},
"isTaxable": {
"type": "string",
"example": "Yes"
},
"vendor_name": {
"type": "string",
"example": "Pharma Inc."
},
"price": {
"type": "number",
"format": "float",
"example": 10.99
},
"cost": {
"type": "number",
"format": "float",
"example": 5.99
},
"onhand": {
"type": "number",
"example": 100
},
"expirationDate": {
"type": "string",
"format": "date",
"example": "2023-12-31"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "inventory",
"toolName": "provider_get_inventory"
},
{
"path": "/get-inventory/{id}",
"method": "GET",
"operationId": "getInventoryItemById",
"summary": "Get inventory item by ID",
"description": "Retrieves a specific inventory item by its ID",
"tags": [
"Inventory"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the inventory item"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"$ref": "#/components/schemas/InventoryItem"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Inventory item not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Inventory item not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Error retrieving inventory: {error message}"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "inventory",
"toolName": "provider_get_get_inventory"
},
{
"path": "/add-inventory",
"method": "POST",
"operationId": "createInventoryItem",
"summary": "Add new inventory item",
"description": "Creates a new inventory item in the system",
"tags": [
"Inventory"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"inventoryType": {
"type": "string",
"example": "Medication"
},
"item_name": {
"type": "string",
"example": "Aspirin 325mg"
},
"price": {
"type": "number",
"format": "float",
"example": 10.99
},
"expirationDate": {
"type": "string",
"format": "date",
"example": "2023-12-31"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"$ref": "#/components/schemas/InventoryItem"
},
"message": {
"type": "string",
"example": "Inventory added sucessfully!"
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"properties": {
"item_name": {
"type": "array",
"items": {
"type": "string",
"example": "The item name field is required."
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "inventory",
"toolName": "provider_create_add_inventory"
},
{
"path": "/update-inventory/{id}",
"method": "PUT",
"operationId": "updateInventoryItem",
"summary": "Update inventory item",
"description": "Updates an existing inventory item",
"tags": [
"Inventory"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the inventory item to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"inventoryType": {
"type": "string",
"example": "Medication"
},
"item_name": {
"type": "string",
"example": "Aspirin 325mg"
},
"price": {
"type": "number",
"format": "float",
"example": 10.99
},
"expirationDate": {
"type": "string",
"format": "date",
"example": "2023-12-31"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"$ref": "#/components/schemas/InventoryItem"
},
"message": {
"type": "string",
"example": "Inventory updated sucessfully!"
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"properties": {
"item_name": {
"type": "array",
"items": {
"type": "string",
"example": "The item name field is required."
}
}
},
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "inventory",
"toolName": "provider_update_update_inventory"
},
{
"path": "/delete-inventory/{id}",
"method": "DELETE",
"operationId": "deleteInventoryItem",
"summary": "Delete inventory item",
"description": "Deletes an existing inventory item",
"tags": [
"Inventory"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the inventory item to delete"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Inventory deleted successfully"
},
"data": {
"$ref": "#/components/schemas/InventoryItem"
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Inventory item not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Inventory item not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Error deleting inventory: {error message}"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "inventory",
"toolName": "provider_delete_delete_inventory"
},
{
"path": "/api/locations",
"method": "GET",
"operationId": "getLocations",
"summary": "Get all locations",
"description": "Retrieves all facility locations for the current provider with pagination support via DataTables",
"tags": [
"Locations"
],
"parameters": [
{
"name": "draw",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables draw counter"
},
{
"name": "start",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables start offset"
},
{
"name": "length",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables page length"
},
{
"name": "search[value]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables search value"
},
{
"name": "order[0][column]",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables column index for ordering"
},
{
"name": "order[0][dir]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables order direction (asc/desc)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "Main Clinic"
},
"facility_npi": {
"type": "string",
"example": "1234567890"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"street": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"postal_code": {
"type": "string",
"example": "10001"
},
"country_code": {
"type": "string",
"example": "US"
},
"provider_id": {
"type": "integer",
"example": 42
},
"uuid": {
"type": "string",
"example": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_get_locations"
},
{
"path": "/api/location/{id}",
"method": "GET",
"operationId": "getLocationById",
"summary": "Get a location by ID",
"description": "Retrieves a specific location by its ID",
"tags": [
"Locations"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the location to retrieve"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "Main Clinic"
},
"facility_npi": {
"type": "string",
"example": "1234567890"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"street": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"postal_code": {
"type": "string",
"example": "10001"
},
"country_code": {
"type": "string",
"example": "US"
},
"provider_id": {
"type": "integer",
"example": 42
},
"uuid": {
"type": "string",
"format": "uuid",
"example": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Location not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_get_location"
},
{
"path": "/api/get-location/{uuid}",
"method": "GET",
"operationId": "getLocationByUuid",
"summary": "Get a location by UUID",
"description": "Retrieves a specific location by its UUID (compatibility with PatientController)",
"tags": [
"Locations"
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"type": "string",
"description": "UUID of the location to retrieve"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "Main Clinic"
},
"facility_npi": {
"type": "string",
"example": "1234567890"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"street": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"postal_code": {
"type": "string",
"example": "10001"
},
"country_code": {
"type": "string",
"example": "US"
},
"provider_id": {
"type": "integer",
"example": 42
},
"uuid": {
"type": "string",
"format": "uuid",
"example": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Location not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_get_get_location"
},
{
"path": "/api/add-location",
"method": "POST",
"operationId": "addLocation",
"summary": "Add a new location",
"description": "Creates a new facility location",
"tags": [
"Locations"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"npiNumber",
"phoneNumber",
"address",
"city",
"state",
"zipcode",
"country"
],
"properties": {
"name": {
"type": "string",
"example": "Main Clinic"
},
"npiNumber": {
"type": "string",
"example": "1234567890"
},
"phoneNumber": {
"type": "string",
"example": "(123) 456-7890"
},
"address": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"country": {
"type": "string",
"example": "US"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Location created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Location added successfully"
},
"data": {
"properties": {
"name": {
"type": "string",
"example": "Main Clinic"
},
"facility_npi": {
"type": "string",
"example": "1234567890"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"street": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"postal_code": {
"type": "string",
"example": "10001"
},
"country_code": {
"type": "string",
"example": "US"
},
"provider_id": {
"type": "integer",
"example": 42
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_create_add_location"
},
{
"path": "/api/update-location/{id}",
"method": "PUT",
"operationId": "updateLocation",
"summary": "Update a location by ID",
"description": "Updates an existing facility location by ID",
"tags": [
"Locations"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the location to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"npiNumber",
"phoneNumber",
"address",
"city",
"state",
"zipcode",
"country"
],
"properties": {
"name": {
"type": "string",
"example": "Updated Clinic Name"
},
"npiNumber": {
"type": "string",
"example": "1234567890"
},
"phoneNumber": {
"type": "string",
"example": "(123) 456-7890"
},
"address": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"country": {
"type": "string",
"example": "US"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Location updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Location updated successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Location not found"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_update_update_location"
},
{
"path": "/api/update-location/{uuid}",
"method": "PUT",
"operationId": "updateLocationByUuid",
"summary": "Update a location by UUID",
"description": "Updates an existing facility location by UUID (compatibility with PatientController)",
"tags": [
"Locations"
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"type": "string",
"description": "UUID of the location to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"npiNumber",
"phoneNumber",
"address",
"city",
"state",
"zipcode",
"country"
],
"properties": {
"name": {
"type": "string",
"example": "Updated Clinic Name"
},
"npiNumber": {
"type": "string",
"example": "1234567890"
},
"phoneNumber": {
"type": "string",
"example": "(123) 456-7890"
},
"address": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"country": {
"type": "string",
"example": "US"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Location updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Location updated successfully"
},
"data": {
"properties": {
"name": {
"type": "string",
"example": "Updated Clinic Name"
},
"facility_npi": {
"type": "string",
"example": "1234567890"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"street": {
"type": "string",
"example": "123 Main St"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"postal_code": {
"type": "string",
"example": "10001"
},
"country_code": {
"type": "string",
"example": "US"
},
"uuid": {
"type": "string",
"format": "uuid",
"example": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Location not found"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "locations",
"toolName": "provider_update_update_location"
},
{
"path": "/api/medical-problems-store/{pid}",
"method": "POST",
"operationId": "storeMedicalProblem",
"summary": "Add a new medical problem for a patient",
"description": "Creates a new medical problem record associated with a specific patient",
"tags": [
"Medical Problems"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"lastDate",
"nextDate",
"screeningDetails",
"flag",
"typeOfItem"
],
"properties": {
"name": {
"type": "string",
"example": "Hypertension"
},
"lastDate": {
"type": "string",
"format": "date",
"example": "2025-06-01"
},
"nextDate": {
"type": "string",
"format": "date",
"example": "2025-09-01"
},
"screeningDetails": {
"type": "string",
"example": "Patient has stage 1 hypertension"
},
"flag": {
"description": "Status flag for the medical problem",
"type": "string",
"example": "active"
},
"typeOfItem": {
"description": "Type of medical problem",
"type": "string",
"example": "chronic"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Medical problem created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "object"
},
"message": {
"type": "string",
"example": "Medical Problem Created Successfully!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_create_medical_problems_store"
},
{
"path": "/api/medical-problems-update/{id}",
"method": "PUT",
"operationId": "updateMedicalProblemRecord",
"summary": "Update an existing medical problem",
"description": "Updates the details of an existing medical problem",
"tags": [
"Medical Problems"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the medical problem to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"name",
"lastDate",
"nextDate",
"screeningDetails",
"flag",
"typeOfItem",
"medical_problem_id"
],
"properties": {
"name": {
"type": "string",
"example": "Updated Hypertension"
},
"lastDate": {
"type": "string",
"format": "date",
"example": "2025-06-15"
},
"nextDate": {
"type": "string",
"format": "date",
"example": "2025-09-15"
},
"screeningDetails": {
"type": "string",
"example": "Patient has controlled stage 1 hypertension"
},
"flag": {
"description": "Status flag for the medical problem",
"type": "string",
"example": "active"
},
"typeOfItem": {
"description": "Type of medical problem",
"type": "string",
"example": "chronic"
},
"medical_problem_id": {
"description": "ID of the medical problem",
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Medical problem updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "integer",
"example": 1
},
"message": {
"type": "string",
"example": "Medical Problem Updated Successfully!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Medical problem not found"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_update_medical_problems_update"
},
{
"path": "/api/medical-problem/{id}",
"method": "GET",
"operationId": "getMedicalProblemById",
"summary": "Get a medical problem by ID",
"description": "Retrieves the details of a specific medical problem by its ID",
"tags": [
"Medical Problems"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the medical problem to retrieve"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"properties": {
"medical_prob_id": {
"type": "integer",
"example": 1
},
"title": {
"type": "string",
"example": "Hypertension"
},
"date": {
"type": "string",
"format": "date",
"example": "2025-06-01"
},
"begdate": {
"type": "string",
"format": "date",
"example": "2025-06-01"
},
"enddate": {
"type": "string",
"format": "date",
"example": "2025-09-01"
},
"screening_detail": {
"type": "string",
"example": "Patient has stage 1 hypertension"
},
"flag": {
"type": "string",
"example": "active"
},
"type_of_item": {
"type": "string",
"example": "chronic"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Medical problem not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_get_medical_problem"
},
{
"path": "/add-phone-log/{patient_id}",
"method": "POST",
"operationId": "addPhoneLog",
"summary": "Add a new phone log for a patient",
"description": "Records a new phone call log entry for a specific patient",
"tags": [
"Phone Logs"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"provider",
"message",
"user_id"
],
"properties": {
"provider": {
"description": "Name of the provider who made/received the call",
"type": "string",
"example": "Dr. Smith"
},
"message": {
"description": "Details about the phone call",
"type": "string",
"example": "Discussed medication changes"
},
"user_id": {
"description": "ID of the user who logged the call",
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Phone log added successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"provider": {
"type": "string",
"example": "Dr. Smith"
},
"message": {
"type": "string",
"example": "Discussed medication changes"
},
"user_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Unauthorized access",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized."
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "An error occurred while adding phone log"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "phone_logs",
"toolName": "provider_create_add_phone_log"
},
{
"path": "/phone-log-list/{patient_id}",
"method": "GET",
"operationId": "getPhoneLogList",
"summary": "Get phone logs for a patient",
"description": "Retrieves all phone logs for a specific patient in DataTables format",
"tags": [
"Phone Logs"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
},
{
"name": "draw",
"in": "query",
"required": false,
"type": "integer",
"description": "Draw counter for DataTables"
},
{
"name": "start",
"in": "query",
"required": false,
"type": "integer",
"description": "Paging first record indicator for DataTables"
},
{
"name": "length",
"in": "query",
"required": false,
"type": "integer",
"description": "Number of records per page for DataTables"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Phone logs retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"provider": {
"type": "string",
"example": "Dr. Smith"
},
"message": {
"type": "string",
"example": "Discussed medication changes"
},
"patient_id": {
"type": "integer",
"example": 123
},
"date": {
"type": "string",
"format": "date-time",
"example": "2023-01-01 12:00:00"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Unauthorized access",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "This action is unauthorized."
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "phone_logs",
"toolName": "provider_get_phone_log_list"
},
{
"path": "/api/plans-product-sync",
"method": "POST",
"operationId": "syncProducts",
"summary": "Save multiple products",
"description": "Save or update multiple products and their categories",
"tags": [
"Product Sync"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"builder_id",
"products"
],
"properties": {
"builder_id": {
"description": "Base64 encoded builder ID",
"type": "string",
"example": "MQ=="
},
"products": {
"type": "array",
"items": {
"properties": {
"product_id": {
"type": "integer",
"example": 123
},
"product_name": {
"type": "string",
"example": "Test Product"
},
"product_price": {
"type": "number",
"format": "float",
"example": 29.99
},
"product_slug": {
"type": "string",
"example": "test-product"
},
"product_category": {
"properties": {
"id": {
"type": "array",
"items": {
"type": "integer",
"example": 10
}
},
"name": {
"type": "array",
"items": {
"type": "string",
"example": "Health Products"
}
}
},
"type": "object"
},
"product_variation": {
"type": "array",
"items": {
"properties": {
"variation_id": {
"type": "integer",
"example": 456
},
"display_name": {
"type": "string",
"example": "Small"
},
"price": {
"type": "number",
"format": "float",
"example": 19.99
}
},
"type": "object"
}
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Products saved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "string",
"example": "Product successfully!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Something went wrong!"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_plans_product_sync"
},
{
"path": "/api/plans-product-update",
"method": "POST",
"operationId": "updateOnPublish",
"summary": "Update product on publish",
"description": "Update a product when it is published",
"tags": [
"Product Sync"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"builder_id",
"product_id",
"product_name",
"product_price",
"product_slug",
"product_category"
],
"properties": {
"builder_id": {
"description": "Base64 encoded builder ID",
"type": "string",
"example": "MQ=="
},
"product_id": {
"type": "integer",
"example": 123
},
"product_name": {
"type": "string",
"example": "Test Product"
},
"product_price": {
"type": "number",
"format": "float",
"example": 29.99
},
"product_slug": {
"type": "string",
"example": "test-product"
},
"product_category": {
"properties": {
"id": {
"type": "array",
"items": {
"type": "integer",
"example": 10
}
},
"name": {
"type": "array",
"items": {
"type": "string",
"example": "Health Products"
}
}
},
"type": "object"
},
"product_variation": {
"type": "array",
"items": {
"properties": {
"variation_id": {
"type": "integer",
"example": 456
},
"display_name": {
"type": "string",
"example": "Small"
},
"price": {
"type": "number",
"format": "float",
"example": 19.99
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Product updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "string",
"example": "Product successfully!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "products",
"toolName": "provider_create_plans_product_update"
},
{
"path": "/tags/store/{pid}",
"method": "POST",
"operationId": "storeTags",
"summary": "Store tags for a patient",
"description": "Clears all previous tags and stores new tags for a specific patient",
"tags": [
"Tags"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"tags"
],
"properties": {
"tags": {
"description": "Array of tag names to be associated with the patient",
"type": "array",
"items": {
"type": "string",
"example": "diabetes"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Tags stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Tags stored"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid request data"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "An error occurred while storing tags"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tags",
"toolName": "provider_create_tags_store"
},
{
"path": "/store-tags/{patientId}",
"method": "POST",
"operationId": "storeTagsAlternate",
"summary": "Store tags for a patient (alternate endpoint)",
"description": "Clears all previous tags and stores new tags for a specific patient",
"tags": [
"Tags"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"tags"
],
"properties": {
"tags": {
"description": "Array of tag names to be associated with the patient",
"type": "array",
"items": {
"type": "string",
"example": "hypertension"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Tags stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Tags stored"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Invalid request data"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tags",
"toolName": "provider_create_store_tags"
},
{
"path": "/tags/list/{pid}",
"method": "GET",
"operationId": "getTags",
"summary": "Get tags for a patient",
"description": "Retrieves all tags associated with a specific patient",
"tags": [
"Tags"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Tags retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"tags": {
"description": "Array of tag names associated with the patient",
"type": "array",
"items": {
"type": "string",
"example": "diabetes"
}
}
},
"type": "object"
}
}
}
},
"404": {
"description": "No tags found",
"content": {
"application/json": {
"schema": {
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"example": []
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "An error occurred while retrieving tags"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tags",
"toolName": "provider_get_tags_list"
},
{
"path": "/api/add-task/{patient_id}",
"method": "POST",
"operationId": "addTask",
"summary": "Add a new task for a patient",
"description": "Creates a new task associated with a specific patient",
"tags": [
"Tasks"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"task_title",
"task_body",
"task_due_date",
"task_assigned_to"
],
"properties": {
"task_title": {
"type": "string",
"example": "Complete blood work"
},
"task_body": {
"type": "string",
"example": "Patient needs to complete blood work at local lab"
},
"task_due_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-10 10:00:00"
},
"task_assigned_to": {
"type": "integer",
"example": 5
},
"task_watchers": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2
]
},
"sendEmailtoPatientApplicationForTask": {
"type": "boolean",
"example": true
},
"task_priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
],
"example": "normal"
},
"task_status": {
"type": "string",
"enum": [
"pending",
"in_progress",
"completed"
],
"example": "pending"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Task created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Task added successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tasks",
"toolName": "provider_create_add_task"
},
{
"path": "/api/update-task/{task_id}",
"method": "PUT",
"operationId": "updateTask",
"summary": "Update an existing task",
"description": "Updates the details of an existing task",
"tags": [
"Tasks"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the task to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"task_title": {
"type": "string",
"example": "Updated blood work"
},
"task_body": {
"type": "string",
"example": "Patient needs to complete updated blood work at local lab"
},
"task_due_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-15 10:00:00"
},
"task_assigned_to": {
"type": "integer",
"example": 5
},
"task_watchers": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2,
3
]
},
"sendEmailtoPatientApplicationForTask": {
"type": "boolean",
"example": false
},
"task_priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
],
"example": "high"
},
"task_status": {
"type": "string",
"enum": [
"pending",
"in_progress",
"completed"
],
"example": "in_progress"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Task updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Task updated successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Task not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tasks",
"toolName": "provider_update_update_task"
},
{
"path": "/api/task/{id}",
"method": "GET",
"operationId": "getOneTaskById",
"summary": "Get a task by ID",
"description": "Retrieves the details of a specific task by its ID",
"tags": [
"Tasks"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the task to retrieve"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 42
},
"task_title": {
"type": "string",
"example": "Complete blood work"
},
"task_body": {
"type": "string",
"example": "Patient needs to complete blood work at local lab"
},
"task_due_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-10 10:00:00"
},
"task_assigned_to": {
"type": "integer",
"example": 5
},
"task_watchers": {
"type": "string",
"example": "[1,2]"
},
"sendEmailtoPatientApplicationForTask": {
"type": "integer",
"example": 1
},
"task_priority": {
"type": "string",
"example": "normal"
},
"task_status": {
"type": "string",
"example": "pending"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "Task not found"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tasks",
"toolName": "provider_get_task"
},
{
"path": "/api/tasks/{patient_id}",
"method": "GET",
"operationId": "getTasks",
"summary": "Get all tasks for a patient",
"description": "Retrieves all tasks associated with a specific patient with pagination support via DataTables",
"tags": [
"Tasks"
],
"parameters": [
{
"name": "patient_id",
"in": "path",
"required": true,
"type": "integer",
"description": "ID of the patient"
},
{
"name": "draw",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables draw counter"
},
{
"name": "start",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables start offset"
},
{
"name": "length",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables page length"
},
{
"name": "search[value]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables search value"
},
{
"name": "order[0][column]",
"in": "query",
"required": false,
"type": "integer",
"description": "DataTables column index for ordering"
},
{
"name": "order[0][dir]",
"in": "query",
"required": false,
"type": "string",
"description": "DataTables order direction (asc/desc)"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 42
},
"task_title": {
"type": "string",
"example": "Complete blood work"
},
"task_body": {
"type": "string",
"example": "Patient needs to complete blood work at local lab"
},
"task_due_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-10 10:00:00"
},
"task_assigned_to": {
"type": "integer",
"example": 5
},
"task_watchers": {
"type": "string",
"example": "[1,2]"
},
"sendemailtopatientapplicationfortask": {
"type": "boolean",
"example": true
},
"task_priority": {
"type": "string",
"example": "normal"
},
"task_status": {
"type": "string",
"example": "pending"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-01 14:30:00"
},
"DT_RowIndex": {
"type": "integer",
"example": 0
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Failed to fetch tasks: Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tasks",
"toolName": "provider_get_tasks"
},
{
"path": "/api/user-list",
"method": "GET",
"operationId": "getUserList",
"summary": "Get list of users",
"description": "Returns a list of all users for the authenticated provider",
"tags": [
"User Management"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"draw": {
"type": "integer",
"example": 1
},
"recordsTotal": {
"type": "integer",
"example": 10
},
"recordsFiltered": {
"type": "integer",
"example": 10
},
"data": {
"type": "array",
"items": {
"properties": {
"user_id": {
"type": "integer",
"example": 1
},
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"role_id": {
"type": "string",
"example": "1"
},
"fullName": {
"type": "string",
"example": "John Doe"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"accessRights": {
"properties": {
"admin": {
"type": "boolean",
"example": false
},
"practitioner": {
"type": "boolean",
"example": false
},
"patientPortalMessaging": {
"type": "boolean",
"example": false
}
},
"type": "object"
},
"analytics": {
"type": "string",
"example": "None"
},
"replyToEmail": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"chartCoSigner": {
"type": "string",
"nullable": true
},
"supervisor": {
"type": "string",
"nullable": true
},
"sendEmail": {
"type": "boolean",
"example": false
},
"notes": {
"type": "string",
"example": ""
},
"copyDetailsFrom": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"example": 1
},
"profile_picture": {
"type": "string",
"example": "base64encodedstring"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_user_list"
},
{
"path": "/api/user-list/{id}",
"method": "GET",
"operationId": "getUserById",
"summary": "Get user by ID",
"description": "Returns detailed information about a specific user",
"tags": [
"User Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"gender": {
"type": "string",
"example": "M"
},
"accessRights": {
"properties": {
"admin": {
"type": "boolean",
"example": false
},
"practitioner": {
"type": "boolean",
"example": false
},
"patientPortalMessaging": {
"type": "boolean",
"example": false
}
},
"type": "object"
},
"analytics": {
"type": "string",
"example": "None"
},
"replyToEmail": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"chartCoSigner": {
"type": "string",
"nullable": true
},
"supervisor": {
"type": "string",
"nullable": true
},
"sendEmail": {
"type": "boolean",
"example": false
},
"notes": {
"type": "string",
"example": ""
},
"copyDetailsFrom": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"example": 1
},
"role_id": {
"type": "string",
"example": "1"
},
"type": {
"type": "string",
"example": "practitioner"
},
"avatarImg": {
"type": "string",
"example": "base64encodedstring"
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "Users list!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_user_list"
},
{
"path": "/api/update-user/{id}",
"method": "POST",
"operationId": "updateUser",
"summary": "Update user",
"description": "Update an existing user's information",
"tags": [
"User Management"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"firstName",
"lastName",
"textMessageNumber",
"timezone",
"role_id"
],
"properties": {
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"timezone": {
"type": "string",
"example": "UTC"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "M"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"type": {
"type": "string",
"example": "practitioner"
},
"role_id": {
"type": "string",
"example": "1"
},
"username": {
"type": "string",
"example": "johndoe"
},
"newUserPassword": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "User updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "User updated successfully!"
},
"data": {
"properties": {
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"timezone": {
"type": "string",
"example": "UTC"
},
"last_updated": {
"type": "string",
"format": "date-time",
"example": "2023-06-30T15:30:00Z"
},
"profile_image_base64": {
"type": "string",
"example": "https://example.com/storage/John-Doe/image.jpg"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "M"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zip": {
"type": "string",
"example": "10001"
},
"type": {
"type": "string",
"example": "practitioner"
},
"role_id": {
"type": "string",
"example": "1"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"404": {
"description": "User not found"
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_update_user"
},
{
"path": "/api/user/create",
"method": "POST",
"operationId": "createUserFromAdmin",
"summary": "Create new user from admin",
"description": "Creates a new user from the admin panel with improved validation",
"tags": [
"User Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"firstName",
"lastName",
"username",
"emailAddress",
"textMessageNumber",
"role_id",
"newUserPassword",
"type"
],
"properties": {
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "M"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"role_id": {
"type": "string",
"example": "1"
},
"newUserPassword": {
"type": "string",
"example": "password123"
},
"type": {
"type": "string",
"example": "practitioner"
},
"avatarImg": {
"description": "User profile image",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "User created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "User added successfully"
},
"data": {
"properties": {
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"gender": {
"type": "string",
"example": "M"
},
"company_id": {
"type": "integer",
"example": 1
},
"provider_id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "practitioner"
},
"profile_image_base64": {
"type": "string",
"example": "https://example.com/storage/John-Doe/image.jpg"
},
"timezone": {
"type": "string",
"example": "UTC"
},
"role_id": {
"type": "string",
"example": "1"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"422": {
"description": "Validation error"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred: Error message"
},
"message": {
"type": "string",
"example": "Failed to add user"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_user_create"
},
{
"path": "/api/add-user",
"method": "POST",
"operationId": "addUser",
"summary": "Add new user (legacy method)",
"description": "Creates a new user (legacy method for compatibility)",
"tags": [
"User Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"required": [
"firstName",
"lastName",
"username",
"emailAddress",
"textMessageNumber",
"role_id",
"newUserPassword",
"type"
],
"properties": {
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"emailAddress": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"textMessageNumber": {
"type": "string",
"example": "123-456-7890"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "M"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"role_id": {
"type": "string",
"example": "1"
},
"newUserPassword": {
"type": "string",
"example": "password123"
},
"type": {
"type": "string",
"example": "practitioner"
},
"avatarImg": {
"description": "User profile image",
"type": "file"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "User added successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "User added successfully"
},
"data": {
"properties": {
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
},
"username": {
"type": "string",
"example": "johndoe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"city": {
"type": "string",
"example": "New York"
},
"state": {
"type": "string",
"example": "NY"
},
"zipcode": {
"type": "string",
"example": "10001"
},
"gender": {
"type": "string",
"example": "M"
},
"date_created": {
"type": "string",
"format": "date-time",
"example": "2023-06-30T15:30:00Z"
},
"last_updated": {
"type": "string",
"format": "date-time",
"example": "2023-06-30T15:30:00Z"
},
"company_id": {
"type": "integer",
"example": 1
},
"provider_id": {
"type": "integer",
"example": 1
},
"type": {
"type": "string",
"example": "practitioner"
},
"profile_image_base64": {
"type": "string",
"example": "https://example.com/storage/John-Doe/image.jpg"
},
"timezone": {
"type": "string",
"example": "UTC"
},
"role_id": {
"type": "string",
"example": "1"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"500": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"properties": {
"messages": {
"type": "string",
"example": "Error"
},
"data": {
"type": "string",
"example": "Username Already Exists!"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_create_add_user"
},
{
"path": "/api/practitioners-list",
"method": "GET",
"operationId": "practitioner",
"summary": "Get practitioners list",
"description": "Returns a list of all practitioners",
"tags": [
"User Management"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"type": {
"type": "string",
"example": "practitioner"
},
"fname": {
"type": "string",
"example": "John"
},
"lname": {
"type": "string",
"example": "Doe"
}
},
"type": "object"
}
},
"message": {
"type": "string",
"example": "Practitioner list!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized"
},
"500": {
"description": "Server error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "user_management",
"toolName": "provider_get_practitioners_list"
},
{
"path": "/patient/me",
"method": "GET",
"operationId": "getPatientDetailsByAccessToken",
"summary": "Get patient details by access token",
"description": "Retrieves authenticated patient's profile details using the access token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Patient details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
},
"subject": {
"type": "string",
"example": "all"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone": {
"type": "string",
"example": "1234567890"
},
"time_zone": {
"type": "string",
"example": "America/New_York"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "Male"
},
"registrationDate": {
"type": "string",
"format": "date",
"example": "2023-01-01"
},
"practitioner_id": {
"type": "integer",
"example": 1
},
"provider_id": {
"type": "integer",
"example": 1
},
"user_type": {
"type": "string",
"example": "patient"
},
"company": {
"type": "string",
"example": "Health Guru Hub"
},
"fullName": {
"type": "string",
"example": "John Doe"
},
"order_id": {
"type": "integer",
"example": null,
"nullable": true
},
"pending_task": {
"type": "string",
"example": null,
"nullable": true
},
"builder_id": {
"type": "integer",
"example": null,
"nullable": true
},
"completed_task": {
"type": "string",
"example": null,
"nullable": true
},
"forms": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid token format",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid token format"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid access token",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid access token"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while retrieving patient details."
},
"exception": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "authentication",
"toolName": "provider_get_patient_me"
},
{
"path": "/provider/me",
"method": "GET",
"operationId": "getProviderDetailsByAccessToken",
"summary": "Get provider details by access token",
"description": "Retrieves authenticated provider's profile details using the access token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Provider details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
},
"subject": {
"type": "string",
"example": "all"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"uuid": {
"type": "string",
"example": "550e8400-e29b-41d4-a716-446655440000"
},
"fullName": {
"type": "string",
"example": "Dr. Jane Smith"
},
"username": {
"type": "string",
"example": "drjane"
},
"avatar": {
"type": "string",
"example": "base64encodedstring"
},
"email": {
"type": "string",
"format": "email",
"example": "jane.smith@example.com"
},
"role": {
"type": "string",
"example": "provider"
},
"google_sync_status": {
"type": "boolean",
"example": true
},
"role_name": {
"type": "string",
"example": "Doctor"
},
"user_type": {
"type": "string",
"example": "practitioner"
},
"company": {
"type": "string",
"example": "Health Guru Hub"
},
"time_zone": {
"type": "string",
"example": "America/New_York"
},
"dummy_practitioner": {
"type": "boolean",
"example": false
}
},
"type": "object"
},
"permissions": {
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid token format",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid token format"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid access token",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid access token"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while retrieving provider details."
},
"exception": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "authentication",
"toolName": "provider_get_provider_me"
},
{
"path": "/api/patients",
"method": "GET",
"operationId": "getPatientList",
"summary": "Get a list of patients",
"description": "Returns a list of patients with optional filtering by first name, last name, date of birth, or email",
"tags": [
"Patients"
],
"parameters": [
{
"name": "firstName",
"in": "query",
"required": false,
"type": "string",
"description": "Filter by patient's first name"
},
{
"name": "lastName",
"in": "query",
"required": false,
"type": "string",
"description": "Filter by patient's last name"
},
{
"name": "dateOfBirth",
"in": "query",
"required": false,
"type": "string",
"description": "Filter by patient's date of birth (YYYY-MM-DD)"
},
{
"name": "email",
"in": "query",
"required": false,
"type": "string",
"description": "Filter by patient's email"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"uuid": {
"type": "string",
"example": "550e8400-e29b-41d4-a716-446655440000"
},
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"fullName": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"example": "john.doe@example.com"
},
"dateOfBirth": {
"type": "string",
"format": "date",
"example": "1990-01-01"
}
},
"type": "object"
}
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_patients"
},
{
"path": "/api/patient/register-patient",
"method": "POST",
"operationId": "registerPatientForPatient",
"summary": "Register a new patient",
"description": "Creates a new patient account",
"tags": [
"Patients"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"first_name",
"last_name",
"email",
"phone_no",
"dob",
"gender"
],
"properties": {
"first_name": {
"type": "string",
"example": "John"
},
"last_name": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone_no": {
"type": "string",
"example": "1234567890"
},
"dob": {
"type": "string",
"format": "date",
"example": "1990-01-01"
},
"gender": {
"type": "string",
"example": "Male"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Patient registered successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"first_name": {
"type": "string",
"example": "John"
},
"last_name": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "Patient has been registered!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthorized"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_create_patient_register_patient"
},
{
"path": "/api/update-password",
"method": "POST",
"operationId": "updatePasswordPatient",
"summary": "Update patient password",
"description": "Updates a patient's password",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"new_password"
],
"properties": {
"new_password": {
"type": "string",
"example": "newSecurePassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password updated successfully."
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"new_password": {
"type": "array",
"items": {
"type": "string",
"example": "The new password field is required."
}
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "authentication",
"toolName": "provider_create_update_password"
},
{
"path": "/api/store-document/{patientId}",
"method": "POST",
"operationId": "storeDocuments",
"summary": "Store patient documents",
"description": "Upload and store documents for a patient",
"tags": [
"Documents"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"properties": {
"files[]": {
"description": "Document files to upload",
"type": "array",
"items": {
"type": "string",
"format": "binary"
}
},
"document_type": {
"type": "string",
"example": "medical_record"
},
"notes": {
"type": "string",
"example": "Patient medical records"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Documents stored successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "success"
},
"data": {
"type": "array",
"items": {
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid input",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid file format"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "documents",
"toolName": "provider_create_store_document"
},
{
"path": "/api/get-document/{patientId}",
"method": "GET",
"operationId": "getDocuments",
"summary": "Get patient documents",
"description": "Retrieve documents for a specific patient",
"tags": [
"Documents"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Documents retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"document_name": {
"type": "string",
"example": "medical_report.pdf"
},
"document_type": {
"type": "string",
"example": "medical_record"
},
"file_path": {
"type": "string",
"example": "documents/patient_1/medical_report.pdf"
},
"uploaded_at": {
"type": "string",
"format": "date-time",
"example": "2023-06-01T10:00:00"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "No documents found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "No documents found for this patient"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "documents",
"toolName": "provider_get_get_document"
},
{
"path": "/api/get-document-by-id/{patientId}/{did}",
"method": "GET",
"operationId": "getDocumentsById",
"summary": "Get a specific patient document by ID",
"description": "Retrieve a specific document for a patient by document ID",
"tags": [
"Documents"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
},
{
"name": "did",
"in": "path",
"required": true,
"type": "integer",
"description": "Document ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Document retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"document_name": {
"type": "string",
"example": "medical_report.pdf"
},
"document_type": {
"type": "string",
"example": "medical_record"
},
"file_path": {
"type": "string",
"example": "documents/patient_1/medical_report.pdf"
},
"uploaded_at": {
"type": "string",
"format": "date-time",
"example": "2023-06-01T10:00:00"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "Document not found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Document not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "documents",
"toolName": "provider_get_get_document_by_id"
},
{
"path": "/api/add-vital/{patientId}",
"method": "POST",
"operationId": "addVital",
"summary": "Add vital signs for a patient",
"description": "Record vital sign measurements for a specific patient",
"tags": [
"Vitals"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"provider_id"
],
"properties": {
"provider_id": {
"type": "integer",
"example": 1
},
"blood_presssure": {
"type": "string",
"example": "120"
},
"diastolic": {
"type": "string",
"example": "80"
},
"weight_lbs": {
"type": "number",
"format": "float",
"example": 175.5
},
"height_ft": {
"type": "integer",
"example": 5
},
"height_in": {
"type": "integer",
"example": 10
},
"temperature": {
"type": "number",
"format": "float",
"example": 98.6
},
"pulse": {
"type": "integer",
"example": 72
},
"respiratory_rate": {
"type": "integer",
"example": 16
},
"saturation": {
"type": "integer",
"example": 98
},
"waist_in": {
"type": "number",
"format": "float",
"example": 32.5
},
"headCircumference_in": {
"type": "number",
"format": "float",
"example": 22.5
},
"note": {
"type": "string",
"example": "Patient appears healthy"
},
"provider": {
"type": "string",
"example": "Dr. Smith"
},
"weight_oz": {
"type": "number",
"format": "float",
"example": 0
},
"bmi": {
"type": "number",
"format": "float",
"example": 24.5
},
"bloodSugar": {
"type": "number",
"format": "float",
"example": 95
},
"fasting": {
"type": "boolean",
"example": true
},
"neck_in": {
"type": "number",
"format": "float",
"example": 15.5
},
"shoulders_in": {
"type": "number",
"format": "float",
"example": 44
},
"chest_in": {
"type": "number",
"format": "float",
"example": 42
},
"hips_in": {
"type": "number",
"format": "float",
"example": 38
},
"lean_body_mass_lbs": {
"type": "number",
"format": "float",
"example": 145
},
"body_fat": {
"type": "number",
"format": "float",
"example": 18
},
"notes": {
"type": "string",
"example": "Additional observations"
},
"subjective_notes": {
"type": "string",
"example": "Patient reports feeling well"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Vitals added successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"type": "string",
"example": "Success"
},
"patient": {
"type": "string",
"example": "Added Succesfully!"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "The given data was invalid."
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "vitals",
"toolName": "provider_create_add_vital"
},
{
"path": "/api/get-stored-methods/{id}",
"method": "GET",
"operationId": "getStoredMethods",
"summary": "Get stored payment methods",
"description": "Retrieve stored payment methods for a patient",
"tags": [
"Payments"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Payment methods retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "string",
"example": "pm_1NQb3f2eZvKYlo2CRZhYZ9Nj"
},
"brand": {
"type": "string",
"example": "visa"
},
"last4": {
"type": "string",
"example": "4242"
},
"exp_month": {
"type": "integer",
"example": 12
},
"exp_year": {
"type": "integer",
"example": 2025
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "No payment methods found",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "No payment methods found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "payments",
"toolName": "provider_get_get_stored_methods"
},
{
"path": "/api/patient/medical-problem/{id}",
"method": "GET",
"operationId": "getPatientMedicalProblemById",
"summary": "Get medical problem by ID",
"description": "Retrieve a specific medical problem details by ID",
"tags": [
"Patient Medical"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Medical problem ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"patient_id": {
"type": "integer",
"example": 123
},
"description": {
"type": "string",
"example": "Hypertension"
},
"date_of_onset": {
"type": "string",
"format": "date",
"example": "2023-01-15"
},
"status": {
"type": "string",
"example": "active"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Medical problem not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Medical problem not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_get_patient_medical_problem"
},
{
"path": "/api/patient/medical-problem/{id}",
"method": "PUT",
"operationId": "updatePatientMedicalProblem",
"summary": "Update medical problem",
"description": "Update an existing medical problem record",
"tags": [
"Patient Medical"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"description": "Medical problem ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"description": {
"type": "string",
"example": "Updated diagnosis"
},
"date_of_onset": {
"type": "string",
"format": "date",
"example": "2023-02-15"
},
"status": {
"type": "string",
"example": "resolved"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Medical problem updated successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Medical problem not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Medical problem not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation error"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_update_patient_medical_problem"
},
{
"path": "/api/patient/history/{patientId}",
"method": "GET",
"operationId": "patientHistory",
"summary": "Get patient history",
"description": "Retrieve patient medical history by patient ID",
"tags": [
"Patient Medical"
],
"parameters": [
{
"name": "patientId",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"visit_date": {
"type": "string",
"format": "date",
"example": "2023-01-15"
},
"diagnosis": {
"type": "string",
"example": "Common cold"
},
"treatment": {
"type": "string",
"example": "Rest and hydration"
},
"notes": {
"type": "string",
"example": "Patient improving"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_get_patient_history"
},
{
"path": "/api/patient/medical-problem/{pid}",
"method": "POST",
"operationId": "storePatientMedicalProblem",
"summary": "Store medical problem",
"description": "Create a new medical problem record for a patient",
"tags": [
"Patient Medical"
],
"parameters": [
{
"name": "pid",
"in": "path",
"required": true,
"type": "integer",
"description": "Patient ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"description": {
"type": "string",
"example": "Migraine"
},
"date_of_onset": {
"type": "string",
"format": "date",
"example": "2023-03-10"
},
"status": {
"type": "string",
"example": "active"
}
},
"type": "object"
}
}
}
},
"responses": {
"201": {
"description": "Successfully created",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Medical problem created successfully"
},
"data": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation error"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_create_patient_medical_problem"
},
{
"path": "/api/patient/profile-picture",
"method": "POST",
"operationId": "uploadProfilePicture",
"summary": "Upload profile picture",
"description": "Upload and update patient profile picture",
"tags": [
"Patient Profile"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"properties": {
"profile_picture": {
"description": "Profile picture file (JPEG, PNG)",
"type": "string",
"format": "binary"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Profile picture uploaded successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Profile picture uploaded successfully"
},
"image_url": {
"type": "string",
"example": "https://example.com/storage/profiles/user123.jpg"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Invalid file format"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_create_patient_profile_picture"
},
{
"path": "/api/patient/prescription",
"method": "GET",
"operationId": "getPatientPrescriptions",
"summary": "Get patient prescriptions",
"description": "Get list of prescriptions for the authenticated patient",
"tags": [
"Patient Medical"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"medication": {
"type": "string",
"example": "Amoxicillin"
},
"dosage": {
"type": "string",
"example": "500mg"
},
"frequency": {
"type": "string",
"example": "3 times daily"
},
"start_date": {
"type": "string",
"format": "date",
"example": "2023-04-15"
},
"end_date": {
"type": "string",
"format": "date",
"example": "2023-04-25"
},
"doctor_name": {
"type": "string",
"example": "Dr. John Smith"
},
"status": {
"type": "string",
"example": "active"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-04-15T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-04-15T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "No prescriptions found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "No prescriptions found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_get_patient_prescription"
},
{
"path": "/api/patient/session-history",
"method": "GET",
"operationId": "sessionHistory",
"summary": "Get patient session history",
"description": "Get history of patient sessions and visits",
"tags": [
"Patient Medical"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"session_date": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T14:30:00Z"
},
"doctor_name": {
"type": "string",
"example": "Dr. Jane Doe"
},
"duration": {
"type": "integer",
"example": 30
},
"notes": {
"type": "string",
"example": "Follow-up appointment"
},
"status": {
"type": "string",
"example": "completed"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-05-15T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "No session history found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "No session history found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "medical_records",
"toolName": "provider_get_patient_session_history"
},
{
"path": "/api/patient/notifications",
"method": "GET",
"operationId": "getNotification",
"summary": "Get patient notifications",
"description": "Get list of notifications for the authenticated patient",
"tags": [
"Patient Profile"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"title": {
"type": "string",
"example": "Appointment Reminder"
},
"message": {
"type": "string",
"example": "You have an appointment tomorrow at 2:00 PM"
},
"read": {
"type": "boolean",
"example": false
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-06-15T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_patient_notifications"
},
{
"path": "/api/patient/data",
"method": "GET",
"operationId": "getPatientData",
"summary": "Get patient data",
"description": "Get comprehensive data for the authenticated patient",
"tags": [
"Patient Profile"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"first_name": {
"type": "string",
"example": "John"
},
"last_name": {
"type": "string",
"example": "Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
},
"phone": {
"type": "string",
"example": "123-456-7890"
},
"dob": {
"type": "string",
"format": "date",
"example": "1985-05-15"
},
"gender": {
"type": "string",
"example": "male"
},
"address": {
"type": "object"
},
"medical_history": {
"type": "array",
"items": {
"type": "object"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Patient not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Patient not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_patient_data"
},
{
"path": "/api/patient/subscriptions",
"method": "GET",
"operationId": "getSubscriptionList",
"summary": "Get patient subscription list",
"description": "Get list of subscriptions for the authenticated patient",
"tags": [
"Patient Subscription"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"plan_name": {
"type": "string",
"example": "Premium Health Plan"
},
"amount": {
"type": "number",
"format": "float",
"example": 49.99
},
"frequency": {
"type": "string",
"example": "monthly"
},
"start_date": {
"type": "string",
"format": "date",
"example": "2023-01-15"
},
"next_billing_date": {
"type": "string",
"format": "date",
"example": "2023-02-15"
},
"status": {
"type": "string",
"example": "active"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-01-15T12:00:00Z"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_get_patient_subscriptions"
},
{
"path": "/api/patient/subscription/{subscription}/cancel",
"method": "POST",
"operationId": "cancelSubscription",
"summary": "Cancel subscription",
"description": "Cancel an existing patient subscription",
"tags": [
"Patient Subscription"
],
"parameters": [
{
"name": "subscription",
"in": "path",
"required": true,
"type": "integer",
"description": "Subscription ID"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"reason": {
"type": "string",
"example": "Too expensive"
},
"feedback": {
"type": "string",
"example": "I found a better option elsewhere"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Subscription cancelled successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Subscription cancelled successfully"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "Subscription not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Subscription not found"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "patients",
"toolName": "provider_create_patient_subscription_cancel"
},
{
"path": "/api/patient/process-payment",
"method": "POST",
"operationId": "processPayment",
"summary": "Process payment",
"description": "Process a payment for the patient",
"tags": [
"Patient Payment"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"amount",
"payment_method",
"currency"
],
"properties": {
"amount": {
"type": "number",
"format": "float",
"example": 99.99
},
"payment_method": {
"type": "string",
"example": "card"
},
"currency": {
"type": "string",
"example": "USD"
},
"payment_method_id": {
"type": "string",
"example": "pm_card_visa"
},
"description": {
"type": "string",
"example": "Payment for consultation"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Payment processed successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Payment processed successfully"
},
"transaction_id": {
"type": "string",
"example": "txn_1KjH7b2eZvKYlo2C0A3b5XCL"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation error"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Payment processing failed",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Payment processing failed"
},
"error": {
"type": "string",
"example": "Your card was declined"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "payments",
"toolName": "provider_create_patient_process_payment"
},
{
"path": "/api/token/generate-temporary",
"method": "POST",
"operationId": "generateTemporaryToken",
"summary": "Generate a temporary API token",
"description": "Creates a token with specified expiration time for a user",
"tags": [
"Token Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"user_id",
"expires_in_hours"
],
"properties": {
"user_id": {
"type": "integer",
"example": 1
},
"expires_in_hours": {
"type": "integer",
"example": 24
},
"abilities": {
"type": "array",
"items": {
"type": "string",
"example": "read"
}
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Temporary token generated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"user": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"token": {
"type": "string",
"example": "1|LNEBIslIcADi7yjPgHPxNZ0EfFdRrHG5g3KJw1Bd"
},
"expires_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-03T12:00:00Z"
},
"expires_in_hours": {
"type": "integer",
"example": 24
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation failed"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to generate temporary token"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_create_token_generate_temporary"
},
{
"path": "/api/token/list/{userId}",
"method": "GET",
"operationId": "listUserTokens",
"summary": "List all tokens for a user",
"description": "Retrieves all active tokens for the specified user",
"tags": [
"Token Management"
],
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "List of user tokens",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"user": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"tokens_count": {
"type": "integer",
"example": 2
},
"tokens": {
"type": "array",
"items": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "permanent-access-token"
},
"abilities": {
"type": "array",
"items": {
"type": "string",
"example": "*"
}
},
"last_used_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-01T10:00:00Z"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-06-15T08:30:00Z"
},
"expires_at": {
"type": "string",
"example": "Never"
}
},
"type": "object"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "User not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to retrieve tokens"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_get_token_list"
},
{
"path": "/api/token/revoke",
"method": "DELETE",
"operationId": "revokeToken",
"summary": "Revoke a specific token",
"description": "Revokes a token by its ID. Only the token owner or an admin can revoke a token.",
"tags": [
"Token Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"token_id"
],
"properties": {
"token_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Token revoked successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Token revoked successfully"
},
"token_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Unauthorized to revoke this token"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation failed"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to revoke token"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_delete_token_revoke"
},
{
"path": "/api/token/revoke-all/{userId}",
"method": "DELETE",
"operationId": "revokeAllUserTokens",
"summary": "Revoke all tokens for a user",
"description": "Revokes all tokens for the specified user. Only the user themselves or an admin can perform this action.",
"tags": [
"Token Management"
],
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"type": "integer",
"description": "User ID"
}
],
"requestBody": null,
"responses": {
"200": {
"description": "All tokens revoked successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "All tokens revoked successfully"
},
"tokens_revoked": {
"type": "integer",
"example": 5
},
"user_id": {
"type": "integer",
"example": 1
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"403": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Unauthorized to revoke tokens for this user"
}
},
"type": "object"
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "User not found"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to revoke tokens"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_delete_token_revoke_all"
},
{
"path": "/api/token/create-with-abilities",
"method": "POST",
"operationId": "createTokenWithAbilities",
"summary": "Create a token with specific abilities",
"description": "Creates a token with specific abilities (permissions) for a user",
"tags": [
"Token Management"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"user_id",
"token_name",
"abilities"
],
"properties": {
"user_id": {
"type": "integer",
"example": 1
},
"token_name": {
"type": "string",
"example": "api-access-token"
},
"abilities": {
"type": "array",
"items": {
"type": "string",
"example": "read"
}
},
"expires_in_hours": {
"type": "integer",
"example": 72
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Token created successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Token created successfully"
},
"user": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"token": {
"properties": {
"name": {
"type": "string",
"example": "api-access-token"
},
"abilities": {
"type": "array",
"items": {
"type": "string",
"example": "read"
}
},
"plain_text": {
"type": "string",
"example": "1|LNEBIslIcADi7yjPgHPxNZ0EfFdRrHG5g3KJw1Bd"
},
"expires_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-05T12:00:00Z"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Validation failed"
},
"errors": {
"type": "object"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to create token"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_create_token_create_with_abilities"
},
{
"path": "/api/token/refresh",
"method": "POST",
"operationId": "refreshCurrentToken",
"summary": "Refresh current token",
"description": "Refreshes the current token while preserving its abilities and expiration settings",
"tags": [
"Token Management"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Token refreshed successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "Token refreshed successfully"
},
"user": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"format": "email",
"example": "john.doe@example.com"
}
},
"type": "object"
},
"token": {
"type": "string",
"example": "1|LNEBIslIcADi7yjPgHPxNZ0EfFdRrHG5g3KJw1Bd"
},
"expires_at": {
"type": "string",
"format": "date-time",
"example": "2023-07-05T12:00:00Z"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid token",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Invalid token"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Unauthenticated"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": false
},
"message": {
"type": "string",
"example": "Failed to refresh token"
},
"error": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "provider",
"category": "tokens",
"toolName": "provider_create_token_refresh"
}
],
"patient": [
{
"path": "/api/change-password",
"method": "POST",
"operationId": "updatePasswordAuth",
"summary": "Update patient password",
"description": "Update the password for an authenticated patient",
"tags": [
"Patient Authentication"
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"current_password",
"new_password"
],
"properties": {
"current_password": {
"type": "string",
"example": "currentpassword"
},
"new_password": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Password updated successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Password updated successfully"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Current password is incorrect",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Current password is incorrect"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Unauthenticated"
},
"422": {
"description": "Validation error"
}
},
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"authType": "patient",
"category": "authentication",
"toolName": "patient_create_change_password"
}
],
"partner": [],
"affiliate": [
{
"path": "/affiliate/me",
"method": "GET",
"operationId": "getAffiliateDetailsByAccessToken",
"summary": "Get affiliate details by access token",
"description": "Retrieves authenticated affiliate's profile details using the access token",
"tags": [
"Authentication"
],
"parameters": [],
"requestBody": null,
"responses": {
"200": {
"description": "Affiliate details retrieved successfully",
"content": {
"application/json": {
"schema": {
"properties": {
"userAbilityRules": {
"type": "array",
"items": {
"properties": {
"action": {
"type": "string",
"example": "manage"
},
"subject": {
"type": "string",
"example": "all"
}
},
"type": "object"
}
},
"userData": {
"properties": {
"id": {
"type": "integer",
"example": 1
},
"fullName": {
"type": "string",
"example": "Sam Johnson"
},
"email": {
"type": "string",
"format": "email",
"example": "sam.johnson@example.com"
},
"first_name": {
"type": "string",
"example": "Sam"
},
"last_name": {
"type": "string",
"example": "Johnson"
},
"phone_no": {
"type": "string",
"example": "1234567890"
},
"avatar": {
"type": "string",
"example": "/images/avatars/avatar-1.png"
},
"role": {
"type": "string",
"example": "affiliate"
}
},
"type": "object"
},
"message": {
"type": "string",
"example": "User LoggedIn"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "Invalid token format",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid token format"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "Invalid access token",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "Invalid access token"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"properties": {
"error": {
"type": "string",
"example": "An error occurred while retrieving affiliate details."
},
"exception": {
"type": "string",
"example": "Error message"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"requiresAuth": true,
"authType": "affiliate",
"category": "authentication",
"toolName": "affiliate_get_affiliate_me"
}
],
"network": []
}