PUT
/api/doctor-profiles/{user_id}Editar perfil
Muda só os campos enviados de um perfil que já existe. Para criar, use o POST.
- Exige o token de acesso — como obter
- Permissão “Editar perfil do médico (CRM, especialidade)”
(doctors.edit_profile)
Headers
| Nome | Tipo | Obrig. | Descrição |
|---|---|---|---|
Authorization | string | Sim | Bearer {access_token}, com o token que o login devolve. |
Content-Type | string | Sim | application/json |
Parâmetros do caminho
| Nome | Tipo | Obrig. | Descrição |
|---|---|---|---|
user_id | uuid | Sim | O médico (o id do usuário dele). |
Corpo da requisição
| Nome | Tipo | Obrig. | Descrição |
|---|---|---|---|
crm | string | Não | CRM. Texto vazio ou null apaga. |
specialty | string | Não | Especialidade. Texto livre; o catálogo do CFM está em /api/medical-specialties. Texto vazio ou null apaga. |
Campos da resposta
| Nome | Tipo | Descrição |
|---|---|---|
id | uuid | O médico: é o id do usuário dele. |
name | string | Nome. |
email | string | E-mail de acesso. |
role | string | Sempre medico. |
is_active | boolean | false quando o usuário foi desativado. |
created_at | string | Quando o usuário foi criado (ISO 8601). |
crm | string | null | CRM, do perfil. null sem perfil. |
specialty | string | null | Especialidade, do perfil. null sem perfil. |
signature_url | string | null | A imagem da assinatura que sai no laudo impresso. O endereço pode expirar. |
Request URL
https://api-endosystem.imagemais.com.br/api/doctor-profiles/5f0c8a52-3b1e-4f7a-9c2d-1a6e7b8c9d01curl -X PUT "https://api-endosystem.imagemais.com.br/api/doctor-profiles/5f0c8a52-3b1e-4f7a-9c2d-1a6e7b8c9d01" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specialty":"Ginecologia e Obstetrícia"}'{
"specialty": "Ginecologia e Obstetrícia"
}{
"specialty": "Ginecologia e Obstetrícia"
}Respostas
{
"id": "5f0c8a52-3b1e-4f7a-9c2d-1a6e7b8c9d01",
"name": "Dra. Ana Souza",
...{
"id": "5f0c8a52-3b1e-4f7a-9c2d-1a6e7b8c9d01",
"name": "Dra. Ana Souza",
"email": "ana.souza@clinica.com.br",
"role": "medico",
"is_active": true,
"created_at": "2026-08-01T09:00:00-03:00",
"crm": "12345-PE",
"specialty": "Ginecologia e Obstetrícia",
"signature_url": "https://storage.exemplo.com/doctors/signatures/9f2c41ab/4e8d0c7b1a2f4c6e8a0b2d4f6a8c0e1b.png"
}{
"error": "ID inválido"
}{
"error": "ID inválido"
}{
"error": "Médico não encontrado"
}{
"error": "Médico não encontrado"
}{
"error": "Perfil do médico não encontrado"
}{
"error": "Perfil do médico não encontrado"
}{
"error": "Você não tem a permissão \"Editar perfil do médico (CRM, especialidade)\".",
"code": "sem_permissao"
...{
"error": "Você não tem a permissão \"Editar perfil do médico (CRM, especialidade)\".",
"code": "sem_permissao"
}{
"error": "Funcionalidade não contratada",
"message": "Esta funcionalidade não está habilitada para a sua clínica.",
...{
"error": "Funcionalidade não contratada",
"message": "Esta funcionalidade não está habilitada para a sua clínica.",
"code": "FEATURE_NOT_ENABLED"
}{
"error": "Token ausente",
"message": "Token de autenticação necessário.",
...{
"error": "Token ausente",
"message": "Token de autenticação necessário.",
"code": "TOKEN_MISSING"
}{
"error": "Token expirado",
"message": "Sua sessão expirou. Faça login novamente.",
...{
"error": "Token expirado",
"message": "Sua sessão expirou. Faça login novamente.",
"code": "TOKEN_EXPIRED"
}{
"error": "Token inválido",
"message": "Token de autenticação inválido. Faça login novamente.",
...{
"error": "Token inválido",
"message": "Token de autenticação inválido. Faça login novamente.",
"code": "TOKEN_INVALID"
}{
"error": "Acesso revogado",
"message": "Seu acesso foi desativado. Procure o administrador da clínica.",
...{
"error": "Acesso revogado",
"message": "Seu acesso foi desativado. Procure o administrador da clínica.",
"code": "ACCESS_REVOKED"
}{
"error": "Erro interno do servidor"
}{
"error": "Erro interno do servidor"
}