PingOne Recognize

Operations

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

POST /users/{userId}/operations

Create a pending operation

Create a pending operation for the specified user. The operation will wait for the user to approve using the PingOne Recognize app.

Path parameters

Name Type Description

userId required

string (HEX)

Uppercase HEX string representing the user ID

Request body — application/json

Field Type Description

operationId required

string

Unique operation identifier, client-managed

externalUserId

string

Customer-meaningful user ID

operationPayload

string

Arbitrary payload, client-managed

Responses

Status Description

200

Operation created — returns { "success": true }

400 / 401 / 404 / 406 / 409 / 415

Standard error responses

500

Internal server error

Example

Request

POST /v2/users/A1B2C3D4E5F6/operations
X-Api-Key: your-api-key
Content-Type: application/json

{
  "operationId": "txn-20250521-001",
  "externalUserId": "custom-name@example.com",
  "operationPayload": "Approve wire transfer of $500 to account 1234"
}

Response 200

{
  "success": true
}

GET /users/{userId}/operations/pending

List pending operations for a user

Retrieve all pending operations awaiting approval for the specified user.

Path parameters

Name Type Description

userId required

string (HEX)

Uppercase HEX string representing the user ID

Responses

Status Description

200

Array of PendingOperationResponse — each has operationId (required), and optional operationPayload, externalUserId, authType (biom or pin)

400 / 401 / 404 / 406

Standard error responses

500

Internal server error

Example

Request

GET /v2/users/A1B2C3D4E5F6/operations/pending
X-Api-Key: your-api-key

Response 200

[
  {
    "operationId": "txn-20250521-001",
    "operationPayload": "Approve wire transfer of $500 to account 1234",
    "externalUserId": "custom-name@example.com",
    "authType": "biom"
  },
  {
    "operationId": "txn-20250521-002"
  }
]

GET /operations/{operationId}

Get a specific operation

Retrieve details of a specific customer operation by its ID.

Path parameters

Name Type Description

operationId required

string

Unique operation identifier, client-managed

Responses

Status Description

200

OperationResponse — contains id, timestamp, nodeId, userId, apiKey, operationId, state (approved or pending), result (boolean), plus optional externalUserId, operationPayload, authType

400 / 401 / 404 / 406

Standard error responses

500

Internal server error

Example

Request

GET /v2/operations/txn-20250521-001
X-Api-Key: your-api-key

Response 200

{
  "id": 8819,
  "timestamp": "2025-05-21T10:30:00.000",
  "nodeId": "operations-service-node-1",
  "userId": "A1B2C3D4E5F6",
  "apiKey": "CustomerApiKey123",
  "operationId": "txn-20250521-001",
  "operationPayload": "Approve wire transfer of $500 to account 1234",
  "externalUserId": "custom-name@example.com",
  "state": "approved",
  "result": true,
  "authType": "biom"
}