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

# Autenticação

> Como se autenticar com a Scribe API

Todos os endpoints da Scribe API exigem autenticação via chave de API enviada como token Bearer no header `Authorization`.

## Tipos de chave

Ao criar uma conta de médico, são retornadas **duas** chaves de API:

* **Chave secreta** (`sk_…`) — sua credencial do lado do servidor. Use-a como token `Authorization: Bearer` em **todas** as requisições desta documentação. Mantenha-a no seu backend; nunca a exponha em um navegador.
* **Chave publicável** (`pk_…`) — uma credencial de navegador para o gravador embutível da Telepatia. É **somente para troca**: o embed a troca por um token de sessão de curta duração que carrega o acesso de leitura e escrita da sua conta. Uma chave `pk_` **não pode chamar a Scribe API diretamente** — apresentá-la como token Bearer em qualquer endpoint retorna `403 permission_denied`.

Salvo indicação em contrário, "chave de API" nesta documentação se refere à sua chave **secreta**.

## Conseguindo sua chave de API

Fale com seu gerente de conta da Telepatia pra conseguir uma chave de API pra sua instituição.

## Fazendo requisições autenticadas

Inclua a chave de API em cada requisição:

```bash theme={null}
curl -X POST https://scribe-api.telepatia.ai/v1/set-consultation-context \
  -H "Authorization: Bearer SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "John Doe",
    "idCountry": "CO",
    "idType": "CC",
    "idValue": "123456789",
    "notes": "Patient reports headache",
    "pastMedicalHistory": "Hypertension, Diabetes Type 2",
    "consultationInternalId": "CONSULT-12345",
    "scribeSessionModality": "IN_PERSON"
  }'
```

Veja a [visão geral](/pt-BR/scribe-api/index) para a URL base.

## Expiração da chave de API

Chaves de API expiram. Chaves institucionais são geradas com uma validade (padrão: **365 dias**, configurável via `apiKeyConfig.validForDays` ao [criar uma conta](/pt-BR/scribe-api/accounts#criar-uma-conta)). Depois que uma chave passa da validade, as requisições falham com `401` e a mesma resposta *"Invalid API key."* de uma chave revogada ou desconhecida. Pra restaurar o acesso, [regenere a chave da conta](/pt-BR/scribe-api/accounts#regenerar-uma-chave-de-api) e atualize sua integração com o novo valor.

## Respostas de erro

| Código | Significado                                        |
| ------ | -------------------------------------------------- |
| `401`  | Chave de API ausente ou inválida                   |
| `403`  | A chave de API não tem permissão pra essa operação |

### Exemplo: Chave de API ausente

```json theme={null}
{
  "error": {
    "type": "authentication_error",
    "code": "authentication_required",
    "message": "API key is required."
  }
}
```

### Exemplo: Chave de API inválida

```json theme={null}
{
  "error": {
    "type": "authentication_error",
    "code": "authentication_required",
    "message": "Invalid API key."
  }
}
```

### Exemplo: Chave publicável usada diretamente

Uma chave publicável (`pk_`) não pode chamar a API diretamente — troque-a primeiro por um token de sessão, ou use sua chave secreta.

```json theme={null}
{
  "error": {
    "type": "permission_error",
    "code": "permission_denied",
    "message": "Publishable keys cannot call the API directly; exchange one for a session token first, or use a secret key."
  }
}
```
