---
title: "Check whether an unlock key is still valid (public)"
method: GET
path: "/public/playground/entitlements/{slug}/verify"
tags: ["app-data"]
---

# Check whether an unlock key is still valid (public)

`GET /public/playground/entitlements/{slug}/verify`

## Request

- Base URL: `https://api.onplana.com/api`
- URL: `https://api.onplana.com/api/public/playground/entitlements/{slug}/verify`
- Auth: none required

Re-checks the stored key against the live entitlement on EVERY call, which is what makes a refund or dispute actually re-lock the app. Call it on each load and unlock only on `{ entitled: true }`. IMPORTANT: only a 200 with `entitled: false` means unpaid , a 429 or 5xx means the check could not run, so keep the current state rather than re-locking a buyer over an outage.

## Path parameters

- `slug` string, required

## Query parameters

- `key` string, required

## Response `200`

`{ entitled: boolean }`

## Other responses

- `429`: Rate limited , keep the current unlock state.
- `500`: Check unavailable , keep the current unlock state.

---

[API](https://skmtc.dev/onplana/apis/onplana-api.md) · [All operations](https://skmtc.dev/onplana/apis/onplana-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onplana/apis/onplana-api/revisions/c3d6c89e9dc8?raw)
