GET/api/public/v1/health
Health Check
Verify your API key is valid and see which workspace and dataset it's linked to. Use this endpoint to test your integration before sending real data.
Response Fields
- Name
status- Type
- string
- Description
- Always "healthy" if the request succeeds
- Name
workspace_id- Type
- uuid
- Description
- The UUID of the workspace this API key belongs to
- Name
workspace_name- Type
- string
- Description
- Human-readable workspace name
- Name
dataset_id- Type
- uuid
- Description
- The UUID of the dataset this API key writes to
- Name
dataset_name- Type
- string
- Description
- Human-readable dataset name
- Name
api_key_name- Type
- string
- Description
- The name you gave this API key when creating it
Request
GET
/api/public/v1/healthcurl 'https://api.flowmyna.com/api/public/v1/health' \
-H 'Authorization: Bearer fm_live_xxx'Response
{
"status": "healthy",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"workspace_name": "Acme Corp",
"dataset_id": "661f9511-f30c-52e5-b827-557766551111",
"dataset_name": "Production Events",
"api_key_name": "ETL Pipeline Key"
}Use Cases
Validate API Key
Before starting your ETL job or integration, verify the API key works:
SDK Health Check
from flowmyna import FlowMyna
client = FlowMyna(api_key="fm_live_xxx")
# Verify connection before processing
health = client.health()
print(f"Connected to workspace: {health.workspace_name}")
print(f"Writing to dataset: {health.dataset_name}")
# Now proceed with data ingestion
for event in events_to_process:
client.record_event(event)Integration Monitoring
Add health checks to your monitoring system to ensure your Flow Myna integration is working:
Health Check for Monitoring
import requests
def check_flowmyna_health():
"""Health check for monitoring systems"""
try:
response = requests.get(
"https://api.flowmyna.com/api/public/v1/health",
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=5
)
if response.status_code == 200:
return {"status": "healthy", "details": response.json()}
else:
return {"status": "unhealthy", "error": response.text}
except requests.exceptions.Timeout:
return {"status": "unhealthy", "error": "timeout"}
except Exception as e:
return {"status": "unhealthy", "error": str(e)}Error Responses
If the health check fails, you'll receive an error indicating the problem:
Error Responses
{
"detail": "Invalid API key"
}