---
title: "Evaluate a hotel description (Beta)"
method: POST
path: "/data/hotel/description-evaluation"
tags: ["Hotels"]
---

# Evaluate a hotel description (Beta)

`POST /data/hotel/description-evaluation`

## Request

- Base URL: `https://api.liteapi.travel/v3.0`
- URL: `https://api.liteapi.travel/v3.0/data/hotel/description-evaluation`
- Auth: API key in header `X-API-Key`

## Overview

**Beta Feature** - Check a customer-written hotel description against LiteAPI hotel data. The check compares the text with the hotel's static record (name, description, important information, facilities, rooms, policies, location, stars, and nearby places) and with stored guest-review sentiment. It does not fetch live reviews.

**Access**: enterprise API keys only. Other keys receive `403`.

**Rate Limiting**: This endpoint is rate-limited to **10 requests per minute** per API key for both sandbox and production API keys. Exceeding this limit returns `429 Too Many Requests`.

## What You Get

- `verdict`: `pass` when there are no flags, `review` when there is a minor or unverified flag and no red flag, `fail` when any flag is red. The verdict is computed from the flags.
- `confidence`: the model's certainty in that judgment, from 0 to 1. It is not a second verdict and it is not a writing-quality score.
- `flags`: concrete claims in the submitted text.

## Flag severity

- `red`: the text contradicts hotel data or stored sentiment. `evidence` quotes the contradicting fact.
- `minor`: the text matches hotel data but overstates it (distance, star level, or policy strength). `evidence` is set.
- `unverified`: a concrete fact in the text that our data neither supports nor contradicts. `evidence` is null. A swimming pool that is absent from facilities, rooms, the hotel description, important information, and sentiment is unverified, not red.

Marketing with no checkable fact (`perfect getaway`, `unforgettable stay`) produces no flag.

`description` is rejected above 20,000 characters. It is not truncated. `language` selects the language of `summary` and each `explanation` and defaults to `en`. The description itself may be any language.

Hotel facts are resolved server-side from `hotelId`. A child property is checked against its parent record. The response `hotelId` is the id you sent.

If the model call fails, the endpoint returns `500`. It does not return a pass it did not compute.

**Note:** This is a beta feature and may be subject to changes.

## Request body

- object
  - `hotelId` string, required: Unique ID of the hotel (liteAPI format).
  - `description` string, required: Customer-written hotel description to check. Maximum 20,000 characters.
  - `language` string: Language of the summary and flag explanations. Defaults to en. The description may be in any language.

## Response `200`

OK

- object
  - `data` object
    - `hotelId` string, required
    - `language` string, required
    - `verdict` 'pass' | 'review' | 'fail', required: pass: no flags. review: minor or unverified flags only. fail: one or more red flags.
    - `confidence` number, required: Model certainty in the judgment, from 0 to 1.
    - `summary` string, required
    - `flags` object[], required
      - `severity` 'red' | 'minor' | 'unverified', required
      - `category` 'amenity' | 'policy' | 'location' | 'room' | 'rating' | 'sentiment' | 'other', required
      - `claim` string, required
      - `excerpt` string, required: Verbatim substring of the submitted description.
      - `explanation` string, required
      - `evidence` object, nullable, required: Null when severity is unverified.
        - `source` 'facility' | 'policy' | 'description' | 'importantInformation' | 'room' | 'location' | 'rating' | 'sentiment', required
        - `detail` string, required

## Other responses

- `400`: Invalid request: missing or malformed hotelId, empty or over-cap description, or unsupported language.
- `401`: Authentication required.
- `403`: The API key is not an enterprise key. Hotel description evaluation is available to enterprise accounts only.
- `404`: The hotelId was not found.
- `429`: Too Many Requests - Rate limit exceeded (10 requests per minute per API key).
- `500`: Technical failure fetching hotel data or evaluating the description. A model failure is never returned as a pass.

---

[API](https://skmtc.dev/liteapi/apis/api-hotel-data.md) - [All operations](https://skmtc.dev/liteapi/apis/api-hotel-data/llms.txt) - [OpenAPI document](https://skmtc.dev/liteapi/apis/api-hotel-data/revisions/f89f11b63949?raw)
