---
title: "Verify passkey and login"
method: POST
path: "/v1/passkeys/verify"
tags: ["Passkeys"]
---

# Verify passkey and login

`POST /v1/passkeys/verify`

## Request

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

Validates a passkey credential and returns an access token. Request body is JSON:API enveloped (`data.attributes`). Passkey failures return `ErrVerificationFailed` and do not feed the password-login lockout counter; password login retains its own 5-failure / 15-minute lockout.

## Request body

- PasskeyVerifyPasskeyRequestEnvelopeDTO
  - `data` object
    - `attributes` PasskeyVerifyPasskeyRequestDTO
      - `client` string: Client selects which Ideem application validates the token. Optional; omit for web (default app). The mobile app sends "mobile".
      - `email` string, required
      - `token` object, required

## Response `201`

Created

- object: Standard response containing data and its metadata if any
  - `data` object
    - `attributes` PasskeyLoginAttributesDTO
      - `contact_number` string
      - `core_organization_id` string
      - `email` string
      - `expiry_timer` integer
      - `first_name` string
      - `last_name` string
      - `user_id` string
    - `id` string
    - `type` string
  - `has_more` boolean

## Other responses

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

---

[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)
