curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
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());
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)
OAuth e protocolo MCP
Obter metadados do recurso protegido
Descubra o público-alvo do recurso MCP, o servidor de autorização, as permissões do produto compatíveis e o transporte de token bearer compatível.
GET
/
.well-known
/
oauth-protected-resource
curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
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());
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)
Descubra o público-alvo do recurso MCP, o servidor de autorização, as permissões do produto compatíveis e o transporte de token bearer compatível.
GET https://api.voicecheap.ai/.well-known/oauth-protected-resource
Autenticação
Nenhum.Exemplos de requisição
Siga a codificação e a autenticação documentadas para esta rota. O formato de resposta e as regras de idempotência da API de ações se aplicam apenas às chamadas de ações.curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
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());
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)
Resposta
Metadados OAuth do recurso protegido. Ambos os caminhos publicados de metadados retornam o mesmo objeto para o recurso MCP.HTTP 200
{
"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 da operação
- Use resource exatamente como retornado ao criar requisições de autorização e token. Não substitua por /v1, acrescente uma barra nem use a origem de outro ambiente.
- O recurso aceita credenciais bearer por cabeçalhos HTTP. Credenciais na string de consulta são rejeitadas pela autenticação MCP.
- scopes_supported contém apenas permissões do produto; offline_access aparece nos metadados do servidor de autorização.
- Uma resposta /mcp não autenticada anuncia em WWW-Authenticate o caminho de metadados específico de /mcp.
- O recurso de produção é https://api.voicecheap.ai/mcp. O recurso padrão de desenvolvimento é https://dev.api.voicecheap.ai/mcp; as implantações podem publicar uma origem canônica de desenvolvimento diferente.
Erros
| Status HTTP | Código | Significado ou recuperação |
|---|---|---|
| 429 | temporarily_unavailable | O limite de requisições OAuth públicas foi atingido. Aguarde a janela atual antes de tentar novamente. |
| 500 | server_error | A autorização está temporariamente indisponível. Tente novamente mais tarde. |
Esta página foi útil?

