---
title: "Verify device integrity"
method: POST
path: "/v1/device_integrity/verify"
tags: ["Device Integrity"]
---

# Verify device integrity

`POST /v1/device_integrity/verify`

## Request

- Base URL: `https://identity-api.paymongo.com`
- URL: `https://identity-api.paymongo.com/v1/device_integrity/verify`
- Auth: none required

Decodes a Play Integrity token server-side and returns a gate decision (pass/fail/degraded/skipped). JWT-authenticated; the verdict is bound to the caller's session. iOS returns "skipped" (no server-side jailbreak verdict exists).

## Request body

- DeviceIntegrityVerifyDeviceIntegrityRequestEnvelopeDTO
  - `data` object
    - `attributes` DeviceIntegrityVerifyDeviceIntegrityRequestDTO
      - `integrity_token` string, required
      - `platform` 'android' | 'ios'

## Response `200`

OK

- object: Standard response containing data and its metadata if any
  - `data` object
    - `attributes` DeviceIntegrityResultDTO
      - `decision` string
      - `platform` string
    - `id` string
    - `type` string
  - `has_more` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `500`: Internal Server Error

---

[API](https://skmtc.dev/paymongo/apis/identity.md) - [All operations](https://skmtc.dev/paymongo/apis/identity/llms.txt) - [OpenAPI document](https://skmtc.dev/paymongo/apis/identity/revisions/cc3056164874?raw)
