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

# Criar uma Smart Template

> Copie para o Cursor/Claude/Copilot para gerar uma integração POST /v1/medical-record-configurations.

Cole este prompt no seu assistente de programação com IA. Ele já inclui o contrato, a autenticação e o envelope de erros, para que o código gerado corresponda à API de produção.

<CodeGroup>
  ```text Prompt theme={null}
  Você está integrando a API pública da Telepatia Synapse.

  Endpoint: POST /v1/medical-record-configurations
  Base URL: https://scribe-api.telepatia.ai
  Auth: Authorization: Bearer ${SYNAPSE_API_KEY}

  Requisição:
  - name [body]: string (opcional, maxLength=200) — Human-readable display name. Defaults to the public id when omitted.
  - description [body]: string (opcional, maxLength=500) — Optional human-readable description of the template.
  - specialty [body]: string (opcional, enum: 219 values) — Medical specialty this template targets, given as the enum key (such as `GENERAL_MEDICINE`) or its camelCase value (such as `generalMedicine`). When set by an institutional API key, the template is distributed as a child copy to every enabled account in the institution that already carries this specialty. Accounts without this specialty are not targets, and a doctor API key never distributes. Optional; omitting it skips distribution.
  - workflow [body]: string (opcional, enum: defaultOutpatient, inpatient, emergencyRoom, reportDictation, historySummary) — Product discriminator for a template. Absent means an ordinary Scribe template.

  `defaultOutpatient`, `inpatient`, and `emergencyRoom` also denote a Scribe
  template; each names the clinical care setting the template is written for.
  `reportDictation` and `historySummary` denote a non-Scribe product.
  - configuration [body]: object (obrigatório) — Section map keyed by node name (schema + optional prompt strategy).

  Sucesso 200:
  - id: string
  - name: string
  - hash: string
  - createdAt: string
  - created: boolean

  Erros (envelope: { error: { type, code, message, param? } }):
  - 400: parameter_missing, parameter_invalid, account_invalid
  - 401: authentication_required
  - 409: resource_conflict
  - 503: service_unavailable

  Gere código na linguagem do arquivo atual que:
  1. Leia SYNAPSE_API_KEY do ambiente (não fixe o valor no código).
  2. Chame o endpoint com requisição e resposta tipadas.
  3. Mapeie o envelope de erros para exceções tipadas por código de status.
  4. Adicione um teste de caminho feliz usando o token Bearer.
  ```

  ```bash curl theme={null}
  curl -X POST https://scribe-api.telepatia.ai/v1/medical-record-configurations \
    -H "Authorization: Bearer $SYNAPSE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "configuration": {
      "chiefComplaint": {
        "instructionSet": {
          "telepatiaPromptId": "CHIEF_COMPLAINT"
        },
        "schema": {
          "instructions": "Patient's chief complaint.",
          "type": "string"
        }
      },
      "vitals": {
        "instructionSet": {
          "telepatiaPromptId": "VITAL_SIGNS"
        },
        "schema": {
          "instructions": "Vital signs.",
          "properties": {
            "heartRate": {
              "instructions": "Heart rate in bpm.",
              "type": "integer"
            }
          },
          "type": "object"
        }
      }
    },
    "name": "Cardiology intake"
  }'
  ```
</CodeGroup>
