---
title: "Verify code from email"
method: POST
path: "/public/widget/auth/verify"
tags: ["Widget"]
---

# Verify code from email

`POST /public/widget/auth/verify`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/public/widget/auth/verify`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/public/widget/auth/verify/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- VerifyTokenRequest
  - `sessionId` string, required
  - `clinicId` string, required
  - `code` string, required: The 6-digit verification code sent to the user's email
  - `email` string, required: The email address that the code was sent to

## Response `200`

OK

- VerifyTokenResponse
  - `success` boolean
  - `tooManyAttempts` boolean: True on the wrong guess that used up the code's last attempt. The code is gone at that point, so the widget should send the user to request a new one rather than retry.
  - `clientId` string, nullable
  - `clientName` string, nullable
  - `clientEmail` string, nullable
  - `clientPhone` string, nullable
  - `patients` PatientSummaryDto[]
    - `id` string: Unique patient identifier
    - `name` string: The patient's name
    - `species` string: The species name. References a species from GET /species endpoint.
    - `speciesId` string, nullable: The species ID for programmatic lookups.
    - `breed` string: The breed name
    - `sex` string: The patient's sex
    - `dateOfBirth` string, date-time, nullable: Date of birth, if known
    - `isEstimatedAge` boolean
    - `fixed` boolean: Whether the patient is spayed/neutered
    - `treatmentAcceptanceRate` union
      - number, double
      - string, double

## Changes

- **2026-09-30** `d58b40cfca93`: 3 info
  - added the optional property `tooManyAttempts` to the response with the `200` status (media type: text/plain)
  - added the optional property `tooManyAttempts` to the response with the `200` status (media type: application/json)
  - added the optional property `tooManyAttempts` to the response with the `200` status (media type: text/json)

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/public/widget/auth/verify/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
