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

# Auditorias

> Consulte a auditoria de qualidade de uma sessão, liste as auditorias de uma instituição e consulte as rubricas

Uma auditoria avalia o registro médico de uma sessão de scribe finalizada contra uma rubrica (uma configuração de auditoria). Retorna um total ponderado em uma escala de 0..1, uma nota qualitativa e um detalhamento por seções.

<Note>
  As leituras de auditoria seguem o papel da sua chave de API. A auditoria de uma sessão fica disponível para uma chave de médico (as próprias sessões) e para uma chave institucional. A **lista** de auditorias e as **configurações** exigem uma chave institucional.
</Note>

## Consultar a auditoria de uma sessão

`GET /v1/scribe-sessions/{id}/audit` retorna a auditoria de uma sessão. O `{id}` é o `consultationInternalId` que você definiu, ou o id da sessão (`ss_...`) que a API retorna. Retorna `404` quando a sessão não tem auditoria — a auditoria está desabilitada, ou ainda não foi executada.

```bash theme={null}
curl https://scribe-api.telepatia.ai/v1/scribe-sessions/CONSULT-12345/audit \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Resposta:**

```json theme={null}
{
  "id": "au_a1b2c3d4e5f6g7h8",
  "score": 0.82,
  "grade": "ACEPTABLE",
  "reviewStatus": "reviewed",
  "origin": "scribe",
  "createdAt": "2026-02-20T10:35:00Z",
  "configuration": {
    "id": "ac_9f8e7d6c5b4a3210",
    "name": "General medicine v2",
    "version": "1.2"
  },
  "sections": [
    { "name": "ANAMNESIS", "label": "Anamnesis", "score": 0.9 }
  ]
}
```

<Tip>
  `score` é o total ponderado em uma escala de 0..1. Converta-o em uma faixa de nota com os `scoreBands` da rubrica, descritos na seção de configurações de auditoria mais abaixo.
</Tip>

## Listar auditorias

`GET /v1/audits` lista as auditorias da sua instituição, da mais recente à mais antiga. Requer uma chave de API institucional; uma chave de médico retorna `403`. Pagine com `page` (base 1) e `limit` (1–50, padrão 20). Filtre com `reviewStatus`, `createdFrom` e `createdTo`.

```bash theme={null}
curl "https://scribe-api.telepatia.ai/v1/audits?page=1&limit=20&reviewStatus=reviewed" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Resposta:**

```json theme={null}
{
  "items": [
    {
      "id": "au_a1b2c3d4e5f6g7h8",
      "score": 0.82,
      "grade": "ACEPTABLE",
      "reviewStatus": "reviewed",
      "origin": "scribe",
      "createdAt": "2026-02-20T10:35:00Z",
      "patientName": "John Doe",
      "configuration": {
        "id": "ac_9f8e7d6c5b4a3210",
        "name": "General medicine v2",
        "version": "1.2"
      }
    }
  ],
  "total": null,
  "page": 1,
  "limit": 20,
  "totalPages": null,
  "hasMore": false
}
```

<Note>
  `total` e `totalPages` são sempre `null` — a lista não é contada no servidor. Use `hasMore` para paginar. Cada item omite o detalhamento por seções; busque a auditoria completa no endpoint da sessão acima.
</Note>

## Configurações de auditoria

`GET /v1/audits/configurations` retorna as rubricas atribuídas à sua instituição — as que são usadas para auditá-la. Requer uma chave de API institucional. Cada rubrica lista suas `sections` ponderadas e seus `scoreBands` de nota, para que você possa converter um `score` em um rótulo.

```bash theme={null}
curl https://scribe-api.telepatia.ai/v1/audits/configurations \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Resposta:**

```json theme={null}
{
  "items": [
    {
      "id": "ac_9f8e7d6c5b4a3210",
      "name": "General medicine v2",
      "version": "1.2",
      "active": true,
      "sections": [
        { "name": "ANAMNESIS", "displayName": "Anamnesis", "weight": 0.2 }
      ],
      "scoreBands": [
        { "threshold": 0.9, "label": "SOBRESALIENTE", "tone": "success" },
        { "threshold": 0.8, "label": "ACEPTABLE", "tone": "info" },
        { "threshold": 0.0, "label": "DEFICIENTE", "tone": "destructive" }
      ]
    }
  ]
}
```

<Note>
  Uma pontuação recebe a primeira faixa cujo `threshold` é igual ou menor que ela (as faixas são ordenadas por `threshold`, de forma decrescente). `label` e `displayName` podem ser `null` quando a rubrica não tem texto no idioma padrão.
</Note>
