---
title: "Describe the calling key"
method: GET
path: "/api/v1/me"
tags: ["Public API v1"]
---

# Describe the calling key

`GET /api/v1/me`

## Request

- Base URL: `https://scanduro.com`
- URL: `https://scanduro.com/api/v1/me`
- Auth: HTTP bearer

Authenticated but deliberately scope-free: a key must always be able to describe itself, or a
caller with the wrong scopes has no way to discover that except by trial and error. Start here
when wiring up an integration.

## Response `200`

What this key is allowed to do.

- object
  - `data` object, required
    - `keyName` string, required
    - `scopes` ApiScope[], required
    - `availableScopes` ApiScope[], required
    - `plan` string, required
    - `limits` object, required
      - `requestsPerWindow` integer
      - `windowSeconds` integer
      - `dynamicCodes` integer, nullable

## Other responses

- `401`: No key, a malformed key, an unknown key, a revoked key or an expired key. Deliberately one response for all five: telling the caller which applies would make the endpoint an oracle for enumerating valid keys.
- `403`: Either the plan does not include API access (`plan_required`) or the key does not carry the required scope (`missing_scope`). The credential itself is valid in both cases.
- `429`: Per-key limit reached. Retry-After gives the seconds remaining in the window.

---

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