> ## 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 metadatos del servidor de autorización

> Descubre los endpoints públicos OAuth y los mecanismos de código de autorización, PKCE, actualización y revocación compatibles con este entorno.

Descubre los endpoints públicos OAuth y los mecanismos de código de autorización, PKCE, actualización y revocación compatibles con este entorno.

```http theme={null}
GET https://api.voicecheap.ai/.well-known/oauth-authorization-server
```

## Autenticación

Ninguno.

## 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/.well-known/oauth-authorization-server'
  ```

  ```javascript JavaScript theme={null}
  const input = {};
  const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-authorization-server', {
    method: 'GET',
    headers: {},
    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/.well-known/oauth-authorization-server",
      headers={},
      timeout=120,
      allow_redirects=False,
  )
  print(response.status_code, response.text)
  ```
</RequestExample>

## Respuesta

Metadatos del servidor de autorización OAuth con URL absolutas de los endpoints en el origen canónico del emisor.

```json HTTP 200 theme={null}
{
  "issuer": "https://api.voicecheap.ai",
  "authorization_endpoint": "https://api.voicecheap.ai/oauth/authorize",
  "token_endpoint": "https://api.voicecheap.ai/oauth/token",
  "registration_endpoint": "https://api.voicecheap.ai/oauth/register",
  "revocation_endpoint": "https://api.voicecheap.ai/oauth/revoke",
  "response_types_supported": ["code"],
  "response_modes_supported": ["query"],
  "grant_types_supported": ["authorization_code", "refresh_token"],
  "token_endpoint_auth_methods_supported": ["none"],
  "revocation_endpoint_auth_methods_supported": ["none"],
  "code_challenge_methods_supported": ["S256"],
  "scopes_supported": [
    "account:read",
    "usage:read",
    "settings:read",
    "settings:write",
    "team:read",
    "team:write",
    "projects:read",
    "projects:write",
    "projects:delete",
    "translations:write",
    "transcription:read",
    "transcription:write",
    "subtitles:read",
    "subtitles:write",
    "tts:read",
    "tts:write",
    "voices:read",
    "voices:write",
    "images:read",
    "images:write",
    "thumbnails:read",
    "thumbnails:write",
    "folders:read",
    "folders:write",
    "glossary:read",
    "glossary:write",
    "webhooks:read",
    "webhooks:write",
    "publishing:read",
    "publishing:write",
    "offline_access"
  ],
  "authorization_response_iss_parameter_supported": true,
  "client_id_metadata_document_supported": true
}
```

## Notas de la operación

* Solo se anuncian el tipo de respuesta code y el modo de respuesta query.
* Los clientes pueden usar el registro dinámico o un Client ID Metadata Document (CIMD). client\_id\_metadata\_document\_supported es true; un cliente CIMD usa la URL HTTPS pública de su documento como client\_id.
* El documento JSON CIMD debe contener un client\_id idéntico, un client\_name no vacío de hasta 120 caracteres y entre 1 y 10 redirect\_uris exactas. Usa autenticación de cliente público none con S256 PKCE; authorization\_code es obligatorio y refresh\_token opcional.
* Sirve CIMD como JSON sin comprimir por HTTPS público en el puerto 443, con una ruta explícita y sin credenciales, fragmentos, segmentos de punto ni redirecciones. El documento no debe superar 64 KiB y debe responder en 5 segundos. La caché de metadatos caduca como máximo en 5 minutos; el intercambio y la renovación de tokens usan los metadatos vinculados a la autorización.
* Cuando OpenID Connect está disponible, los metadatos del servidor de autorización también anuncian los permisos openid y email, userinfo\_endpoint y jwks\_uri. En caso contrario, estos permisos y endpoints no aparecen en esos metadatos.
* Los métodos de autenticación de tokens y revocación son none. Los clientes públicos usan client\_id y S256 PKCE en lugar de un secreto de cliente.
* offline\_access es un marcador de ámbito relacionado con la renovación, no un permiso de producto. La emisión de un token de actualización depende de si refresh\_token se registró como tipo de concesión.
* Comprueba que el valor iss devuelto en la URL de retorno final del cliente coincida con issuer. Tanto las respuestas de retorno de autorización correctas como las denegadas incluyen iss y repiten state si se proporcionó.

## Errores

| Estado HTTP | Código | Significado o solución |
| - | - | - |
| 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.