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

272 lines
7.1 KiB
JSON

{
"timestamp": "2025-07-08T21:48:47.163Z",
"summary": {
"totalApiEndpoints": 187,
"totalCurrentEndpoints": 318,
"totalMissingEndpoints": 2,
"byAuthType": {
"PUBLIC": {
"apiEndpoints": 37,
"currentEndpoints": 77,
"missingEndpoints": 1,
"coverage": "208.1%"
},
"PROVIDER": {
"apiEndpoints": 136,
"currentEndpoints": 199,
"missingEndpoints": 1,
"coverage": "146.3%"
},
"PATIENT": {
"apiEndpoints": 13,
"currentEndpoints": 25,
"missingEndpoints": 0,
"coverage": "192.3%"
},
"PARTNER": {
"apiEndpoints": 0,
"currentEndpoints": 6,
"missingEndpoints": 0,
"coverage": "Infinity%"
},
"AFFILIATE": {
"apiEndpoints": 1,
"currentEndpoints": 6,
"missingEndpoints": 0,
"coverage": "600.0%"
},
"NETWORK": {
"apiEndpoints": 0,
"currentEndpoints": 5,
"missingEndpoints": 0,
"coverage": "Infinity%"
}
}
},
"missingEndpoints": {
"PUBLIC": [
{
"path": "/api/refresh-token",
"method": "POST",
"operationId": "refresh",
"summary": "Refresh authentication token",
"description": "Refresh an existing authentication token using a refresh token",
"tags": [
"Authentication"
],
"security": [],
"requiresAuth": false,
"parameters": {
"path": [],
"query": [],
"body": [
{
"name": "refresh_token",
"type": "string",
"format": null,
"required": true,
"description": "",
"enum": null,
"example": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"items": null,
"properties": null
}
],
"header": []
},
"requestBody": {
"required": true,
"description": "",
"content": {
"application/json": {
"schema": {
"required": [
"refresh_token"
],
"properties": {
"refresh_token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJhbGc..."
}
},
"type": "object"
},
"examples": {}
}
}
},
"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"
}
}
}
}
}
}
],
"PROVIDER": [
{
"path": "/api/change-password",
"method": "POST",
"operationId": "updatePasswordAuth",
"summary": "Update patient password",
"description": "Update the password for an authenticated patient",
"tags": [
"Patient Authentication"
],
"security": [
{
"bearerAuth": []
}
],
"requiresAuth": true,
"parameters": {
"path": [],
"query": [],
"body": [
{
"name": "current_password",
"type": "string",
"format": null,
"required": true,
"description": "",
"enum": null,
"example": "currentpassword",
"items": null,
"properties": null
},
{
"name": "new_password",
"type": "string",
"format": null,
"required": true,
"description": "",
"enum": null,
"example": "newpassword123",
"items": null,
"properties": null
}
],
"header": []
},
"requestBody": {
"required": true,
"description": "",
"content": {
"application/json": {
"schema": {
"required": [
"current_password",
"new_password"
],
"properties": {
"current_password": {
"type": "string",
"example": "currentpassword"
},
"new_password": {
"type": "string",
"example": "newpassword123"
}
},
"type": "object"
},
"examples": {}
}
}
},
"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"
}
}
}
],
"PATIENT": [],
"PARTNER": [],
"AFFILIATE": [],
"NETWORK": []
},
"recommendations": [
{
"authType": "PUBLIC",
"action": "Implement 1 missing PUBLIC endpoints",
"priority": "MEDIUM"
},
{
"authType": "PROVIDER",
"action": "Implement 1 missing PROVIDER endpoints",
"priority": "HIGH"
}
]
}