---
title: "Verification Status"
method: GET
path: "/v1/identity/status/{user_id}"
tags: ["identity"]
---

# Verification Status

`GET /v1/identity/status/{user_id}`

Whether a member is verified in the calling guild.

Evaluated from the guild's live policy rather than read from a flag, so it stays correct
when the guild tightens its rules: adding a required platform makes everyone who has not
linked it read as unverified here, exactly as it does in Discord.

Rate limited per guild; the 429 response documents the allowance for each tier.

## Path parameters

- `user_id` integer, required

## Response `200`

Successful Response

- VerificationStatus — Deliberately carries no external ids or usernames. This is the whole point of the `status` permission: a consumer that only needs to know somebody passed verification should not receive the identity they passed it with.
  - `user_id` string, required
  - `verified` boolean, required
  - `providers` string[]
  - `via_passport` boolean

## Other responses

- `401` — Missing or invalid API key.
- `403` — The key lacks the required verification permission, or the guild has no active premium subscription.
- `422` — Validation Error
- `429` — Rate limit exceeded. Free keys allow 10 requests/minute, premium 120/minute.

---

[API](https://skmtc.dev/monni/apis/fastapi.md) · [All operations](https://skmtc.dev/monni/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/monni/fastapi/revisions/0321cc5200a6/schema)
