---
title: Telemetry
description: The Telemetry API of the PingOne Recognize Mobile SDK Server API lets you retrieve user metadata or specific transactions.
component: recognize
page_id: recognize:mobile-sdk:mobile-sdk-server-api-telemetry
canonical_url: https://docs.pingidentity.com/recognize/mobile-sdk/mobile-sdk-server-api-telemetry.html
llms_txt: https://docs.pingidentity.com/recognize/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: May 5, 2026
section_ids:
  endpoint-authentications-get: GET /users/{userId}/authentications
  path-params-authentications-get: Path parameters
  query-params-authentications-get: Query parameters
  responses-authentications-get: Responses
  example-authentications-get: Example
  endpoint-external-user-authentications-get: GET /external-users/{externalUserId}/authentications
  path-params-external-user-authentications-get: Path parameters
  query-params-external-user-authentications-get: Query parameters
  responses-external-user-authentications-get: Responses
  example-external-user-authentications-get: Example
---

# Telemetry

PingOne Recognize is generally used as part of a wider authentication flow, such as sign-on, account recovery, or step-up authentication. The Telemetry API provides details of individual transactions, such as the type of authentication, the result, or error details. You can use for analytics, fraud detection, or orchestration.

Transaction telemetry data is retrieved using the **operationID**, which can be generated in one of the following ways:

* Use the **Mobile SDK** to pass an **operationInfo** object to the `EnrollConfig` or `AuthConfig` operations associated with a specific transaction.

* Use the **Web SDK** to add the `Operation_ID` attribute an ] [authentication component](../web-sdk/web-sdk-reference-authentication-identifiers.html#adding-identifiers-to-authentication).

All endpoints require the `X-Api-Key` header for authentication, which should contain your PingOne Recognize authorization key. For help, contact Support.

## GET /users/{userId}/authentications

Get user authentications (last 10 min)

Get all user authentications in the last 10 minutes. Can be filtered by operation ID to return a specific transaction or authentication attempt.

### Path parameters

| Name                  | Type           | Description                                   |
| --------------------- | -------------- | --------------------------------------------- |
| `userId` **required** | `string (HEX)` | Uppercase HEX string representing the user ID |

### Query parameters

| Name          | Type     | Description                            |
| ------------- | -------- | -------------------------------------- |
| `operationId` | `string` | Filter results to a specific operation |

### Responses

| Status | Description                                                                                |
| ------ | ------------------------------------------------------------------------------------------ |
| `200`  | Object with `page` (pagination info) and `content` (array of `UserAuthenticationResponse`) |
| `401`  | Unauthorized — missing or invalid API key                                                  |
| `404`  | User not found for given ID                                                                |

### Example

**Request**

```none
GET /v2/users/A1B2C3D4E5F6/authentications?operationId=op-789
X-Api-Key: your-api-key
```

**Response 200**

```json
{
  "page": {
    "number": 0,
    "size": 20,
    "totalElements": 1,
    "totalPages": 1
  },
  "content": [
    {
      "userId": "A1B2C3D4E5F6",
      "authentications": [
        {
          "createdAt": "2025-05-21T10:34:00.000",
          "result": "APPROVED",
          "errorCode": 0,
          "operationId": "op-789",
          "deviceId": "device-abc",
          "authType": "biom"
        }
      ]
    }
  ]
}
```

***

## GET /external-users/{externalUserId}/authentications

Get authentications by external user ID

Get all user authentications in the last 10 minutes using the External User ID — the unique identifier the user is identified by in your own system. Can be optionally filtered by operation ID.

### Path parameters

| Name                          | Type     | Description                                 |
| ----------------------------- | -------- | ------------------------------------------- |
| `externalUserId` **required** | `string` | Customer-meaningful user ID. Case-sensitive |

### Query parameters

| Name          | Type     | Description                            |
| ------------- | -------- | -------------------------------------- |
| `operationId` | `string` | Filter results to a specific operation |

### Responses

| Status | Description                                                                                        |
| ------ | -------------------------------------------------------------------------------------------------- |
| `200`  | Object with `page` (pagination info) and `content` (array of `ExternalUserAuthenticationResponse`) |
| `401`  | Unauthorized — missing or invalid API key                                                          |
| `404`  | External user not found for given ID                                                               |

### Example

**Request**

```none
GET /v2/external-users/custom-name@example.com/authentications
X-Api-Key: your-api-key
```

**Response 200**

```json
{
  "page": {
    "number": 0,
    "size": 20,
    "totalElements": 1,
    "totalPages": 1
  },
  "content": [
    {
      "externalUserId": "custom-name@example.com",
      "authentications": [
        {
          "createdAt": "2025-05-21T10:34:00.000",
          "result": "APPROVED",
          "errorCode": 0,
          "operationId": "op-101",
          "authType": "pin"
        }
      ]
    }
  ]
}
```
