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

# Obter metadados do servidor de autorização

> Descubra os endpoints OAuth públicos e os mecanismos de código de autorização, PKCE, atualização e revogação compatíveis com este ambiente.

Descubra os endpoints OAuth públicos e os mecanismos de código de autorização, PKCE, atualização e revogação compatíveis com este ambiente.

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

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

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

## Resposta

Metadados do servidor de autorização OAuth com URLs absolutas dos endpoints na origem canônica do emissor.

```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 da operação

* Apenas o tipo de resposta code e o modo de resposta query são anunciados.
* Os clientes podem usar registro dinâmico ou um Client ID Metadata Document (CIMD). client\_id\_metadata\_document\_supported é true; um cliente CIMD usa a URL HTTPS pública do documento como client\_id.
* Um documento JSON CIMD deve conter um client\_id exatamente igual, um client\_name não vazio de até 120 caracteres e de 1 a 10 redirect\_uris exatos. Use autenticação de cliente público none com S256 PKCE; authorization\_code é obrigatório e refresh\_token é opcional.
* Sirva o CIMD como JSON sem compressão por HTTPS público na porta 443, com caminho explícito e sem credenciais, fragmentos, segmentos de ponto ou redirecionamentos. O documento deve ter até 64 KiB e responder em até 5 segundos. Os metadados em cache expiram em até 5 minutos; a troca e a renovação de tokens usam os metadados vinculados à autorização.
* Quando OpenID Connect está disponível, os metadados do servidor de autorização também anunciam os escopos openid e email, userinfo\_endpoint e jwks\_uri. Caso contrário, esses escopos e endpoints não aparecem nesses metadados.
* Os métodos de autenticação de token e revogação são none. Clientes públicos usam client\_id e S256 PKCE em vez de um segredo de cliente.
* offline\_access é um marcador de escopo relacionado à renovação, não uma permissão do produto. A emissão de um token de atualização depende de refresh\_token ter sido registrado como tipo de concessão.
* Verifique o valor iss retornado no callback final do cliente em relação a issuer. Os callbacks de autorização bem-sucedida e negada incluem iss e repetem state quando ele foi fornecido.

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


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