Pular para o conteúdo

Autenticação

Toda chamada em /v1 exige um token no cabeçalho Authorization. O servidor resolve a clínica e as permissões a partir dele.

Dois jeitos de autenticar

Usuário do painel

Cabeçalhos
Authorization: Bearer <JWT>
X-Clinic-Id se tiver mais de uma clínica

PermissõesAs do perfil do usuário na clínica (vínculo ativo).

Integração servidor a servidor

Cabeçalhos
Authorization: Bearer <SERVICE_TOKEN>
X-Clinic-Id obrigatório
X-Agent-Key obrigatório

PermissõesAs de agente, só se o agente estiver habilitado na clínica.

Token de usuário (JWT)

O aplicativo autentica o usuário no provedor de identidade da plataforma e recebe um token de acesso (JWT) de curta duração (15 min — renove antes de expirar). É o token de sessão do My Clinic: o painel o obtém logo após o login e o renova antes de expirar.

Envie Authorization: Bearer <TOKEN> em toda chamada /v1.

Cabeçalho
Authorization: Bearer <TOKEN>
Não há chave de API de autoatendimento nem SDK oficial. O token de usuário só existe enquanto a sessão está ativa: renove antes de expirar e nunca o grave em disco ou em logs.

Clínica ativa

Se o usuário tiver acesso a mais de uma clínica, envie X-Clinic-Id: <clinic_id> (lista em GET /v1/me/memberships). O servidor valida o vínculo — o clinic_id nunca é aceito no corpo.

Cabeçalhos
Authorization: Bearer <TOKEN>X-Clinic-Id: <clinic_id>

Com um único vínculo ativo o cabeçalho é opcional: a API usa essa clínica. Veja GET /v1/me/memberships.

Token de serviço

Integrações servidor-a-servidor (automações/agentes): Authorization: Bearer <SERVICE_TOKEN> + X-Clinic-Id + X-Agent-Key (o agente precisa estar habilitado na clínica).

Cabeçalhos
Authorization: Bearer <SERVICE_TOKEN>X-Clinic-Id: <clinic_id>X-Agent-Key: <agent_key>

Emitido pela equipe do My Clinic

Tokens de serviço são criados pela equipe da plataforma, podem ser restritos a clínicas específicas e ainda estão em implantação junto com as automações. Para solicitar, escreva para suporte@myclinic.app. Use-os só no servidor, nunca no navegador ou em aplicativo móvel.

Rotas públicas

Além do Swagger e do contrato (/docs, /openapi.json), só a verificação de saúde responde sem token:

Erros de autenticação

Códigos devolvidos em error.code quando o token ou a clínica não passam. Lista completa em Tratamento de erros.

  • 401invalid_token

    Token ausente, inválido ou expirado.

  • 400tenant_context_required

    Informe a clínica ativa no cabeçalho X-Clinic-Id (você tem acesso a mais de uma clínica).

  • 400invalid_clinic_id

    X-Clinic-Id inválido.

  • 403clinic_access_denied

    Você não tem acesso ativo a esta clínica.

  • 403no_clinic_membership

    Você ainda não tem acesso ativo a nenhuma clínica.

  • 403clinic_inactive

    A clínica está com status SUSPENDED e não aceita operações.

  • 403agent_not_enabled

    Agente não habilitado para esta clínica.

  • 403forbidden

    Seu perfil não tem permissão para esta ação.