---
title: "Devuelve la identidad de la key que llama: dueño, scopes, entorno y límites"
method: GET
path: "/me"
tags: ["Identidad"]
---

# Devuelve la identidad de la key que llama: dueño, scopes, entorno y límites

`GET /me`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/me`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

El «quién soy» de la API: con qué workspace estás hablando, qué scopes trae la key, si es de prueba o de producción y contra qué límites corres. Es la primera llamada que conviene hacer al integrar — resuelve de un golpe la mitad de los 401 y 403, que casi siempre son la key equivocada o un scope que nadie marcó.

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` IdentityResponseDto, required
    - `api_key` IdentityApiKeyDto, required
      - `env` 'live' | 'test', required: `test` para las keys `met_test_`, `live` para las `met_live_`.
      - `id` string, required: ID de la key — el mismo que muestra el panel y el que se registra en los logs de request. No es una credencial: no autentica nada por sí solo.
      - `monthly_quota` number, nullable, required: Cupo de requests del mes en curso, con el mismo criterio. `null` = sin tope.
      - `object` 'api_key', required
      - `owner_type` 'workspace' | 'partner' | 'staff', required: Quién es el dueño de la key. `workspace` es una key de un cliente, `partner` una key de Tech Partner y `staff` una credencial interna del CLI de Meteor (no se emite desde el panel de un cliente).
      - `rate_limit_rpm` number, nullable, required: Techo de requests por minuto que se te aplica: el más estricto entre el de la key y el del plan del workspace. `null` = sin tope. Es el número con el que te vas a encontrar en un `429`, así que poder leerlo antes evita descubrirlo a golpes.
      - `scopes` string[], required: Los scopes que porta la key, ordenados alfabéticamente para que la respuesta sea estable entre llamadas. Ojo con `owner_type: 'staff'`: ahí los valores **no** son scopes de la API pública sino claves del catálogo de permisos del panel, y los permisos efectivos son la intersección con los de la persona dueña de la key.
    - `livemode` boolean, required: `false` si la key es de modo de prueba (`met_test_`). Refleja `env` — es el mismo dato en la forma que ya usa el resto del contrato (§6 de las convenciones), para no obligar a nadie a comparar strings.
    - `object` 'identity', required
    - `partner` IdentityPartnerDto, required
      - `id` string, required
      - `object` 'partner', required
    - `workspace` IdentityWorkspaceDto, required
      - `id` number, required
      - `object` 'workspace', required
      - `slug` string, nullable, required: Slug del workspace, el mismo de la URL del panel. `null` si no se resolvió.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

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