> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/sdks/backend-sdk/finger/technical_documentation/api_reference/management/get-the-operational-metrics-snapshot-in-prometheus-format.md).

# Get the operational metrics snapshot in Prometheus format

Returns the same snapshot as `GET /api/v1/finger/metrics` as Prometheus text exposition (version 0.0.4).

* HTTP level series (`traffic`, `saturation`, `latency` and the per-endpoint breakdown) use the `facephi_` prefix, for example `facephi_requests_total`, `facephi_window_error_rate{window}` or `facephi_total_latency_ms{window,stat}`.
* The blocks owned by the service use the `facephi_finger_` prefix:

| Series                                                                                                                                                                            | Type    | Content                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `facephi_finger_service_info{name,version,role,path_base,schema_version}`                                                                                                         | gauge   | `service` block, always `1`                                                                                   |
| `facephi_finger_configured_threads`                                                                                                                                               | gauge   | `service.configuredThreads`                                                                                   |
| `facephi_finger_snapshot_timestamp_seconds`                                                                                                                                       | gauge   | `timestamp` as epoch seconds                                                                                  |
| `facephi_finger_initialized`, `facephi_finger_license_valid`                                                                                                                      | gauge   | `state.initialized` and `state.license.valid`                                                                 |
| `facephi_finger_license_info{status_code}`                                                                                                                                        | gauge   | `state.license.statusCode`, always `1`                                                                        |
| `facephi_finger_state_classification{classification}`                                                                                                                             | gauge   | `1` for the current `state.classification`, `0` for the other values                                          |
| `facephi_finger_engine_healthy`, `facephi_finger_engine_last_health_known`, `facephi_finger_engine_last_health_check_timestamp_seconds`                                           | gauge   | `state.engine` block                                                                                          |
| `facephi_finger_engine_service_configured{service}`                                                                                                                               | gauge   | One series per configured processing service, always `1`                                                      |
| `facephi_finger_usage_counters_enabled`                                                                                                                                           | gauge   | `usage.enabled`                                                                                               |
| `facephi_finger_usage_operations_total{operation}`, `facephi_finger_usage_total`                                                                                                  | counter | `usage` block; `operation` is `extract` or `authenticate`                                                     |
| `facephi_finger_quality_samples{operation}`, `facephi_finger_quality_measured_samples{operation="extract"}`                                                                       | gauge   | Samples of the `quality` block                                                                                |
| `facephi_finger_quality_score_samples`, `facephi_finger_quality_score_avg`, `facephi_finger_quality_score_min`, `facephi_finger_quality_score_max` (labels `operation`, `metric`) | gauge   | Quality summaries: `metric` is `overallQuality` or `nfiq2` for `extract`, and `similarity` for `authenticate` |
| `facephi_finger_authenticate_results_total{result}`                                                                                                                               | counter | `positive` and `negative` authentications                                                                     |
| `facephi_finger_low_quality_samples`, `facephi_finger_low_quality_since_timestamp_seconds`                                                                                        | gauge   | `quality.summary` block                                                                                       |
| `facephi_finger_alert_active{code,severity}`, `facephi_finger_alert_since_timestamp_seconds{code,severity}`                                                                       | gauge   | `alerts` block: `1` for active alerts, `0` for the rest                                                       |

The classification and alert series always publish every possible value, and the sample counts are published with `0` before the first operation, so no series appears or disappears between scrapes. The `facephi_finger_quality_score_*` series of a summary only appear once the JSON snapshot includes it. Instants are published as epoch seconds and are `0` while the snapshot has not recorded them. Free-form text (`state.license.statusMessage`, `state.engine.lastError` and `alerts[].message`) is only published in the JSON response. It never requires a JWT.

```json
{"openapi":"3.0.1","info":{"title":"Facephi Finger Service REST API","version":"2.2.1"},"tags":[{"name":"Management","description":"Version, health, operational metrics and runtime configuration of the service."}],"servers":[{"url":"http://127.0.0.1:6982/"}],"security":[],"paths":{"/api/v1/finger/metrics/prometheus":{"get":{"summary":"Get the operational metrics snapshot in Prometheus format","description":"Returns the same snapshot as `GET /api/v1/finger/metrics` as Prometheus text exposition (version 0.0.4).\n\n- HTTP level series (`traffic`, `saturation`, `latency` and the per-endpoint breakdown) use the `facephi_`\n  prefix, for example `facephi_requests_total`, `facephi_window_error_rate{window}` or\n  `facephi_total_latency_ms{window,stat}`.\n- The blocks owned by the service use the `facephi_finger_` prefix:\n\n| Series | Type | Content |\n|---|---|---|\n| `facephi_finger_service_info{name,version,role,path_base,schema_version}` | gauge | `service` block, always `1` |\n| `facephi_finger_configured_threads` | gauge | `service.configuredThreads` |\n| `facephi_finger_snapshot_timestamp_seconds` | gauge | `timestamp` as epoch seconds |\n| `facephi_finger_initialized`, `facephi_finger_license_valid` | gauge | `state.initialized` and `state.license.valid` |\n| `facephi_finger_license_info{status_code}` | gauge | `state.license.statusCode`, always `1` |\n| `facephi_finger_state_classification{classification}` | gauge | `1` for the current `state.classification`, `0` for the other values |\n| `facephi_finger_engine_healthy`, `facephi_finger_engine_last_health_known`, `facephi_finger_engine_last_health_check_timestamp_seconds` | gauge | `state.engine` block |\n| `facephi_finger_engine_service_configured{service}` | gauge | One series per configured processing service, always `1` |\n| `facephi_finger_usage_counters_enabled` | gauge | `usage.enabled` |\n| `facephi_finger_usage_operations_total{operation}`, `facephi_finger_usage_total` | counter | `usage` block; `operation` is `extract` or `authenticate` |\n| `facephi_finger_quality_samples{operation}`, `facephi_finger_quality_measured_samples{operation=\"extract\"}` | gauge | Samples of the `quality` block |\n| `facephi_finger_quality_score_samples`, `facephi_finger_quality_score_avg`, `facephi_finger_quality_score_min`, `facephi_finger_quality_score_max` (labels `operation`, `metric`) | gauge | Quality summaries: `metric` is `overallQuality` or `nfiq2` for `extract`, and `similarity` for `authenticate` |\n| `facephi_finger_authenticate_results_total{result}` | counter | `positive` and `negative` authentications |\n| `facephi_finger_low_quality_samples`, `facephi_finger_low_quality_since_timestamp_seconds` | gauge | `quality.summary` block |\n| `facephi_finger_alert_active{code,severity}`, `facephi_finger_alert_since_timestamp_seconds{code,severity}` | gauge | `alerts` block: `1` for active alerts, `0` for the rest |\n\nThe classification and alert series always publish every possible value, and the sample counts are published\nwith `0` before the first operation, so no series appears or disappears between scrapes. The\n`facephi_finger_quality_score_*` series of a summary only appear once the JSON snapshot includes it. Instants\nare published as epoch seconds and are `0` while the snapshot has not recorded them. Free-form text\n(`state.license.statusMessage`, `state.engine.lastError` and `alerts[].message`) is only published in the JSON\nresponse. It never requires a JWT.\n","operationId":"getMetricsPrometheus","tags":["Management"],"responses":{"200":{"description":"Prometheus text exposition.","content":{"text/plain; version=0.0.4; charset=utf-8":{"schema":{"type":"string"}}}},"400":{"description":"The service is not initialized (`Service not initialized`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResult"}}}}}}}},"components":{"schemas":{"BadRequestResult":{"type":"object","properties":{"status":{"type":"integer"},"error":{"type":"string"},"message":{"type":"string"},"timeStamp":{"$ref":"#/components/schemas/TimeStamp"}},"required":["status","error","message","timeStamp"]},"TimeStamp":{"type":"string","description":"UTC date and time in ISO-8601 format with second precision (`YYYY-MM-DDTHH:MM:SSZ`)."}}}}
```
