Provider Health
Legacy provider health endpoint — superseded by /api/v1/identity/providers/health for the country-pluggable architecture.
Legacy endpoint. GET /api/v1/identity/providers returns a flat list of provider names + healthy flags from the active engine. With Phase 6F.5 the engine became country-pluggable; richer per-(country, provider) telemetry — circuit-breaker state, latency p50/p95/p99, country aggregation — lives at GET /api/v1/identity/providers/health. See Identity Resilience → Provider health endpoint.
The legacy endpoint stays available for backwards compatibility; new integrations should target the new endpoint.
Endpoint
GET /api/v1/identity/providers
Scope: identity:read
Response
{
"success": true,
"data": {
"providers": [
{ "name": "smile-id", "healthy": true },
{ "name": "nimc", "healthy": true },
{ "name": "dojah", "healthy": false }
]
}
}
| Field | Type | Description |
|---|---|---|
name | string | Internal provider label (per CLAUDE.md provider policy — never the upstream vendor name). |
healthy | boolean | The wrapped provider's isHealthy() verdict, which combines its own health probe with the breaker state for that (country, provider) pair. |
Examples
curl
curl https://api.platformxe.com/api/v1/identity/providers \
-H "x-api-key: pxk_live_your_api_key_here"
TypeScript SDK
import { PlatformXe } from '@caldera/platformxe-sdk';
const px = new PlatformXe({ apiKey: 'pxk_live_your_api_key_here' });
const result = await px.identity.providers();
for (const provider of result.data.providers) {
console.log(`${provider.name}: ${provider.healthy ? 'healthy' : 'unhealthy'}`);
}
Error responses
| Code | Description |
|---|---|
FORBIDDEN | API key does not have the identity:read scope |
RATE_LIMITED | Rate limit exceeded for this API key |
See also
- Identity Resilience — country plugins, per-(country, provider) circuit breakers, latency surface, dead-letter queue.
GET /api/v1/identity/providers/health— the country-aware replacement.