> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener la identidad del usuario conectado

> Lee los claims de identidad concedidos a una conexión OAuth.

Lee los claims de identidad concedidos a una conexión OAuth.

```http theme={null}
GET https://api.voicecheap.ai/oauth/userinfo
```

## Autenticación

Envía un token de acceso OAuth en Authorization: Bearer. Debe incluir openid; los claims de correo también requieren email. No se aceptan claves API ni credenciales en parámetros de consulta.

## Ejemplos de solicitud

Sigue la codificación y la autenticación documentadas para esta ruta. El formato envolvente y las reglas de idempotencia de la API de acciones solo se aplican a las invocaciones de acciones.

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET 'https://api.voicecheap.ai/oauth/userinfo' \
    --header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const input = {};
  const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
    },
    redirect: 'manual',
  });
  console.log(response.status, await response.text());
  ```

  ```python Python theme={null}
  import os
  import requests

  response = requests.request(
      "GET",
      "https://api.voicecheap.ai/oauth/userinfo",
      headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"]},
      timeout=120,
      allow_redirects=False,
  )
  print(response.status_code, response.text)
  ```
</RequestExample>

## Respuesta

Lee los claims de identidad concedidos a una conexión OAuth.

```json HTTP 200 theme={null}
{
  "sub": "voicecheap-user-id",
  "email": "customer@example.com",
  "email_verified": false
}
```

## Cabeceras de respuesta

```json theme={null}
{
  "Cache-Control": "no-store",
  "Pragma": "no-cache"
}
```

## Notas de la operación

* Los endpoints OpenID Connect devuelven HTTP 404 cuando la integración de identidad no está disponible en este entorno. Comprueba el descubrimiento antes de depender de funciones de identidad.
* sub es el identificador estable de la cuenta. email y email\_verified solo se incluyen si se concedió email y la cuenta tiene una dirección de correo. email\_verified refleja el estado real de verificación y puede ser false. Las cuentas eliminadas o desactivadas no pueden usar UserInfo.

## Errores

| Estado HTTP | Código | Significado o solución |
| - | - | - |
| 400 | `invalid_request` | Envía el token de acceso OAuth solo en la cabecera Authorization. Se rechazan las claves API y las credenciales access\_token/api\_key en la consulta o el cuerpo. |
| 401 | `invalid_token` | El token de acceso OAuth falta, es inválido, ha caducado, está revocado o ya no está autorizado. Vuelve a conectar la cuenta. |
| 403 | `insufficient_scope` | El token no tiene openid o la cuenta ya no tiene acceso válido. Vuelve a conectar con el permiso de identidad necesario y una cuenta apta. Consulta el desafío WWW-Authenticate para obtener detalles. |
| 404 | `invalid_request` | Los endpoints OpenID Connect devuelven HTTP 404 cuando la integración de identidad no está disponible en este entorno. Comprueba el descubrimiento antes de depender de funciones de identidad. |
| 429 | `temporarily_unavailable` | Se ha alcanzado el límite público de frecuencia de solicitudes OAuth. Espera a que termine la ventana actual antes de reintentarlo. |
| 500 | `server_error` | La autorización no está disponible temporalmente. Vuelve a intentarlo más tarde. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.