first
This commit is contained in:
272
comprehensive-api-audit-report.json
Normal file
272
comprehensive-api-audit-report.json
Normal file
@@ -0,0 +1,272 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user