> ## 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 recurso protegido

> Descubre el destinatario resource de MCP, el servidor de autorización, los permisos de producto compatibles y el transporte de tokens Bearer compatible.

Descubre el destinatario resource de MCP, el servidor de autorización, los permisos de producto compatibles y el transporte de tokens Bearer compatible.

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

## 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-protected-resource'
  ```

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

## Respuesta

Metadatos del recurso protegido OAuth. Ambas rutas de metadatos publicadas devuelven el mismo objeto para el recurso MCP.

```json HTTP 200 theme={null}
{
  "resource": "https://api.voicecheap.ai/mcp",
  "resource_name": "VoiceCheap MCP",
  "authorization_servers": ["https://api.voicecheap.ai"],
  "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"
  ],
  "bearer_methods_supported": ["header"]
}
```

## Notas de la operación

* Usa resource exactamente como se devuelve al crear solicitudes de autorización y de token. No lo sustituyas por /v1, no añadas una barra ni uses el origen de otro entorno.
* El recurso acepta credenciales bearer mediante cabeceras HTTP. La autenticación MCP rechaza las credenciales en la cadena de consulta.
* scopes\_supported solo contiene permisos del producto; offline\_access aparece en los metadatos del servidor de autorización.
* Una respuesta de /mcp sin autenticación anuncia la ruta de metadatos específica de /mcp en WWW-Authenticate.
* El recurso de producción es [https://api.voicecheap.ai/mcp](https://api.voicecheap.ai/mcp). El recurso de desarrollo predeterminado es [https://dev.api.voicecheap.ai/mcp](https://dev.api.voicecheap.ai/mcp); los despliegues pueden publicar un origen de desarrollo canónico diferente.

## 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.