---
title: "Verify API key"
method: GET
path: "/introspect"
tags: ["System"]
---

# Verify API key

`GET /introspect`

## Request

- Base URL: `https://api.markmesh.com/v1`
- URL: `https://api.markmesh.com/v1/introspect`
- Auth: HTTP bearer

Returns metadata about the calling API key + its owning organization. Useful for verifying credentials before making real calls.

## Response `200`

API key + org metadata

- object
  - `data` object
    - `api_key` object
      - `environment` 'live' | 'test'
      - `expires_at` string, date-time: RFC 3339 timestamp (e.g. `2027-06-30T12:00:00Z`). `null` means the key has no expiry.
      - `id` string, uuid: Stable identifier for this API key.
      - `last_4` string: Last 4 characters of the full token, for visual identification in dashboards.
      - `name` string: Human-readable name set when the key was created.
      - `prefix` string: Token prefix indicating environment (`mm_live_` or `mm_test_`).
      - `rate_limit_per_minute` integer: Per-minute request budget for this key. Defaults: 300 for live, 60 for test.
    - `organization` object
      - `id` string, uuid: Stable identifier for the organization that owns this API key.
      - `name` string: Display name of the organization.

## Other responses

- `401`: API key missing, invalid, expired, or revoked

---

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