curl -X GET '{baseUrl}/api/platform/discover' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Cache-Control: no-cache' \
-H 'Accept: */*'
{
"scanTimestamp": "2024-10-09T14:32:15.847Z",
"totalServices": 15,
"healthyServices": 14,
"unhealthyServices": 1,
"services": {
"flowxEngine": {
"name": "FlowX Engine",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-engine:8080",
"capabilities": ["process-execution", "workflow-management", "business-rules"],
"lastHealthCheck": "2024-10-09T14:32:10Z"
},
"flowxDesigner": {
"name": "FlowX Designer",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-designer:3000",
"capabilities": ["process-design", "ui-design", "form-builder"],
"lastHealthCheck": "2024-10-09T14:32:11Z"
},
"flowxAdmin": {
"name": "FlowX Admin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-admin:4000",
"capabilities": ["user-management", "system-config", "monitoring"],
"lastHealthCheck": "2024-10-09T14:32:12Z"
},
"flowxCms": {
"name": "FlowX CMS",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-cms:5000",
"capabilities": ["content-management", "localization", "asset-management"],
"lastHealthCheck": "2024-10-09T14:32:13Z"
},
"documentManagement": {
"name": "Document Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://document-plugin:8081",
"capabilities": ["document-storage", "file-processing", "document-templates"],
"lastHealthCheck": "2024-10-09T14:32:14Z"
},
"notifications": {
"name": "Notifications Plugin",
"version": "5.1.0",
"status": "unhealthy",
"endpoint": "http://notifications-plugin:8082",
"capabilities": ["email-notifications", "sms-notifications", "push-notifications"],
"lastHealthCheck": "2024-10-09T14:30:00Z",
"error": "Connection timeout - service may be down"
},
"taskManagement": {
"name": "Task Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://task-plugin:8083",
"capabilities": ["task-assignment", "task-tracking", "workflow-integration"],
"lastHealthCheck": "2024-10-09T14:32:15Z"
}
},
"infrastructure": {
"database": {
"type": "PostgreSQL",
"version": "13.7",
"status": "healthy",
"connections": {
"active": 45,
"idle": 15,
"max": 100
},
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"messageBroker": {
"type": "Apache Kafka",
"version": "3.4.0",
"status": "healthy",
"brokers": 3,
"topics": 28,
"lastHealthCheck": "2024-10-09T14:32:05Z"
},
"redis": {
"type": "Redis",
"version": "7.0.11",
"status": "healthy",
"memory": {
"used": "245MB",
"available": "1GB"
},
"lastHealthCheck": "2024-10-09T14:32:08Z"
}
},
"externalIntegrations": {
"authProvider": {
"name": "Keycloak",
"status": "healthy",
"endpoint": "https://auth.company.com",
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"documentStorage": {
"name": "MinIO S3",
"status": "healthy",
"endpoint": "https://storage.company.com",
"buckets": 12,
"lastHealthCheck": "2024-10-09T14:32:02Z"
}
},
"summary": {
"scanDuration": "4.2s",
"newServicesFound": 0,
"configurationChanges": 2,
"issuesDetected": 1,
"recommendations": [
"Check notifications plugin connectivity",
"Consider scaling database connections"
]
}
}
Force platform rescan
Trigger a forced rescan of the platform to discover and refresh all available services and configurations
GET
{baseUrl}
/
api
/
platform
/
discover
curl -X GET '{baseUrl}/api/platform/discover' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Cache-Control: no-cache' \
-H 'Accept: */*'
{
"scanTimestamp": "2024-10-09T14:32:15.847Z",
"totalServices": 15,
"healthyServices": 14,
"unhealthyServices": 1,
"services": {
"flowxEngine": {
"name": "FlowX Engine",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-engine:8080",
"capabilities": ["process-execution", "workflow-management", "business-rules"],
"lastHealthCheck": "2024-10-09T14:32:10Z"
},
"flowxDesigner": {
"name": "FlowX Designer",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-designer:3000",
"capabilities": ["process-design", "ui-design", "form-builder"],
"lastHealthCheck": "2024-10-09T14:32:11Z"
},
"flowxAdmin": {
"name": "FlowX Admin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-admin:4000",
"capabilities": ["user-management", "system-config", "monitoring"],
"lastHealthCheck": "2024-10-09T14:32:12Z"
},
"flowxCms": {
"name": "FlowX CMS",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-cms:5000",
"capabilities": ["content-management", "localization", "asset-management"],
"lastHealthCheck": "2024-10-09T14:32:13Z"
},
"documentManagement": {
"name": "Document Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://document-plugin:8081",
"capabilities": ["document-storage", "file-processing", "document-templates"],
"lastHealthCheck": "2024-10-09T14:32:14Z"
},
"notifications": {
"name": "Notifications Plugin",
"version": "5.1.0",
"status": "unhealthy",
"endpoint": "http://notifications-plugin:8082",
"capabilities": ["email-notifications", "sms-notifications", "push-notifications"],
"lastHealthCheck": "2024-10-09T14:30:00Z",
"error": "Connection timeout - service may be down"
},
"taskManagement": {
"name": "Task Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://task-plugin:8083",
"capabilities": ["task-assignment", "task-tracking", "workflow-integration"],
"lastHealthCheck": "2024-10-09T14:32:15Z"
}
},
"infrastructure": {
"database": {
"type": "PostgreSQL",
"version": "13.7",
"status": "healthy",
"connections": {
"active": 45,
"idle": 15,
"max": 100
},
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"messageBroker": {
"type": "Apache Kafka",
"version": "3.4.0",
"status": "healthy",
"brokers": 3,
"topics": 28,
"lastHealthCheck": "2024-10-09T14:32:05Z"
},
"redis": {
"type": "Redis",
"version": "7.0.11",
"status": "healthy",
"memory": {
"used": "245MB",
"available": "1GB"
},
"lastHealthCheck": "2024-10-09T14:32:08Z"
}
},
"externalIntegrations": {
"authProvider": {
"name": "Keycloak",
"status": "healthy",
"endpoint": "https://auth.company.com",
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"documentStorage": {
"name": "MinIO S3",
"status": "healthy",
"endpoint": "https://storage.company.com",
"buckets": 12,
"lastHealthCheck": "2024-10-09T14:32:02Z"
}
},
"summary": {
"scanDuration": "4.2s",
"newServicesFound": 0,
"configurationChanges": 2,
"issuesDetected": 1,
"recommendations": [
"Check notifications plugin connectivity",
"Consider scaling database connections"
]
}
}
Reference under review. This endpoint is part of the platform health/discovery surface (Kubernetes-aware). It is an admin / operations endpoint, not a public integration API. For supported integration patterns, see Consuming FlowX from external apps.
This endpoint performs a comprehensive scan of the platform infrastructure and may take some time to complete depending on your platform size and complexity.
Endpoint
curl -X GET '{baseUrl}/api/platform/discover' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Cache-Control: no-cache' \
-H 'Accept: */*'
string
required
The base URL of your FlowX platform instance
Headers
string
required
Bearer token for API authentication. Format:
Bearer YOUR_API_TOKENstring
default:"no-cache"
Controls caching behavior. Recommended to use
no-cache to ensure fresh discovery resultsstring
default:"*/*"
Specifies the media types that are acceptable for the response
string
Identifies the client application making the request
string
default:"gzip, deflate, br"
Specifies the content encoding that the client can understand
Response
{
"scanTimestamp": "2024-10-09T14:32:15.847Z",
"totalServices": 15,
"healthyServices": 14,
"unhealthyServices": 1,
"services": {
"flowxEngine": {
"name": "FlowX Engine",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-engine:8080",
"capabilities": ["process-execution", "workflow-management", "business-rules"],
"lastHealthCheck": "2024-10-09T14:32:10Z"
},
"flowxDesigner": {
"name": "FlowX Designer",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-designer:3000",
"capabilities": ["process-design", "ui-design", "form-builder"],
"lastHealthCheck": "2024-10-09T14:32:11Z"
},
"flowxAdmin": {
"name": "FlowX Admin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-admin:4000",
"capabilities": ["user-management", "system-config", "monitoring"],
"lastHealthCheck": "2024-10-09T14:32:12Z"
},
"flowxCms": {
"name": "FlowX CMS",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://flowx-cms:5000",
"capabilities": ["content-management", "localization", "asset-management"],
"lastHealthCheck": "2024-10-09T14:32:13Z"
},
"documentManagement": {
"name": "Document Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://document-plugin:8081",
"capabilities": ["document-storage", "file-processing", "document-templates"],
"lastHealthCheck": "2024-10-09T14:32:14Z"
},
"notifications": {
"name": "Notifications Plugin",
"version": "5.1.0",
"status": "unhealthy",
"endpoint": "http://notifications-plugin:8082",
"capabilities": ["email-notifications", "sms-notifications", "push-notifications"],
"lastHealthCheck": "2024-10-09T14:30:00Z",
"error": "Connection timeout - service may be down"
},
"taskManagement": {
"name": "Task Management Plugin",
"version": "5.1.0",
"status": "healthy",
"endpoint": "http://task-plugin:8083",
"capabilities": ["task-assignment", "task-tracking", "workflow-integration"],
"lastHealthCheck": "2024-10-09T14:32:15Z"
}
},
"infrastructure": {
"database": {
"type": "PostgreSQL",
"version": "13.7",
"status": "healthy",
"connections": {
"active": 45,
"idle": 15,
"max": 100
},
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"messageBroker": {
"type": "Apache Kafka",
"version": "3.4.0",
"status": "healthy",
"brokers": 3,
"topics": 28,
"lastHealthCheck": "2024-10-09T14:32:05Z"
},
"redis": {
"type": "Redis",
"version": "7.0.11",
"status": "healthy",
"memory": {
"used": "245MB",
"available": "1GB"
},
"lastHealthCheck": "2024-10-09T14:32:08Z"
}
},
"externalIntegrations": {
"authProvider": {
"name": "Keycloak",
"status": "healthy",
"endpoint": "https://auth.company.com",
"lastHealthCheck": "2024-10-09T14:32:00Z"
},
"documentStorage": {
"name": "MinIO S3",
"status": "healthy",
"endpoint": "https://storage.company.com",
"buckets": 12,
"lastHealthCheck": "2024-10-09T14:32:02Z"
}
},
"summary": {
"scanDuration": "4.2s",
"newServicesFound": 0,
"configurationChanges": 2,
"issuesDetected": 1,
"recommendations": [
"Check notifications plugin connectivity",
"Consider scaling database connections"
]
}
}
string
ISO 8601 formatted timestamp of when the platform rescan was completed
integer
Total number of services discovered during the rescan
integer
Number of services that are currently healthy and operational
integer
Number of services that are experiencing issues or are unreachable
object
Detailed information about all discovered FlowX platform services
Show Service details
Show Service details
object
Core FlowX Engine service information
object
FlowX Designer service for process and UI design
object
FlowX Admin service for system administration
object
FlowX CMS service for content management
object
Document Management Plugin service
object
Notifications Plugin service (may include error details if unhealthy)
object
Task Management Plugin service
object
Information about underlying infrastructure components
Show Infrastructure details
Show Infrastructure details
object
object
Message broker information including cluster status
object
Redis cache information including memory usage
object
object
Summary information about the rescan operation
Error Responses
{
"error": "Unauthorized",
"message": "Invalid or missing authentication token",
"status": 401
}
{
"error": "Internal Server Error",
"message": "Platform rescan failed due to internal error",
"status": 500,
"details": "Connection timeout while discovering services"
}
Usage Examples
Basic Platform Rescan
const axios = require('axios');
async function forcePlatformRescan() {
try {
const response = await axios.get(`${baseUrl}/api/platform/discover`, {
headers: {
'Authorization': `Bearer ${apiToken}`,
'Cache-Control': 'no-cache'
}
});
const scanResult = response.data;
console.log(`Rescan completed in ${scanResult.summary.scanDuration}`);
console.log(`Services: ${scanResult.healthyServices}/${scanResult.totalServices} healthy`);
if (scanResult.summary.issuesDetected > 0) {
console.warn(`Issues detected: ${scanResult.summary.issuesDetected}`);
scanResult.summary.recommendations.forEach(rec => {
console.warn(`- ${rec}`);
});
}
return scanResult;
} catch (error) {
console.error('Rescan failed:', error.response?.data || error.message);
throw error;
}
}
import requests
def force_platform_rescan(base_url, api_token):
headers = {
'Authorization': f'Bearer {api_token}',
'Cache-Control': 'no-cache'
}
try:
response = requests.get(f'{base_url}/api/platform/discover', headers=headers)
response.raise_for_status()
scan_result = response.json()
print(f"Rescan completed in {scan_result['summary']['scanDuration']}")
print(f"Services: {scan_result['healthyServices']}/{scan_result['totalServices']} healthy")
if scan_result['summary']['issuesDetected'] > 0:
print(f"Issues detected: {scan_result['summary']['issuesDetected']}")
for recommendation in scan_result['summary']['recommendations']:
print(f"- {recommendation}")
return scan_result
except requests.exceptions.RequestException as e:
print(f"Rescan failed: {e}")
raise
# Basic rescan request
curl -X GET 'https://your-platform.com/api/platform/discover' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Cache-Control: no-cache'
# With verbose output for debugging
curl -X GET 'https://your-platform.com/api/platform/discover' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Cache-Control: no-cache' \
-v
When to Use Force Rescan
- Service Deployment
- Configuration Updates
- Troubleshooting
After deploying new servicesUse force rescan when you’ve deployed new microservices or updated existing ones to ensure the platform recognizes all available endpoints and configurations.
# After deployment
kubectl apply -f new-service.yaml
# Then trigger rescan
curl -X GET '/api/platform/discover' -H 'Authorization: Bearer TOKEN'
After configuration changesTrigger a rescan when you’ve updated platform configurations, environment variables, or service registrations that need immediate recognition.
When services aren’t recognizedIf the platform isn’t detecting services or configurations that should be available, a force rescan can help resolve discovery issues.
Last modified on May 5, 2026
Related topics
Indexing config guidelinesUser task nodeFlowX.AI 5.6.0 Release NotesService Task nodeSwitchWas this page helpful?
⌘I

