POST/api/patients

Cadastrar paciente

Cria um paciente na clínica do usuário.

  • Exige o token de acesso — como obter
  • Permissão “Cadastrar paciente” (patients.create)

Headers

NomeTipoObrig.Descrição
Authorization
stringSimBearer {access_token}, com o token que o login devolve.
Content-Type
stringSimapplication/json

Corpo da requisição

NomeTipoObrig.Descrição
name
stringSimNome. Gravado em maiúsculas.
birth_date
stringSimData de nascimento, no formato AAAA-MM-DD.
phone
stringSimTelefone.
sexo
stringNãoM ou F.
cpf
stringNãoCPF, com ou sem pontuação: só os dígitos são gravados. Não pode repetir outro paciente ativo da clínica.
email
stringNãoE-mail.
notes
stringNãoObservações.
address
objectNãoEndereço. Gravado em maiúsculas.

Campos da resposta

NomeTipoDescrição
id
uuidO paciente.
name
stringNome, em maiúsculas.
birth_date
stringData de nascimento (AAAA-MM-DD).
sexo
string | nullM ou F.
phone
string | nullTelefone, como foi digitado.
cpf
string | nullCPF, só os dígitos.
email
string | nullE-mail.
notes
string | nullObservações.
address
objectEndereço, em maiúsculas. Campo sem valor vem null.
created_at
stringQuando foi cadastrado (ISO 8601).
updated_at
stringA última alteração (ISO 8601).
deleted_at
string | nullSempre null nas respostas: paciente excluído não aparece.

Request URL

https://api-endosystem.imagemais.com.br/api/patients
curl -X POST "https://api-endosystem.imagemais.com.br/api/patients" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Maria da Silva","birth_date":"1990-03-15","phone":"(81) 99999-0000","sexo":"F","cpf":"123.456.789-09","email":"maria@exemplo.com","address":{"street":"Rua das Flores","number":"123","city":"Recife","state":"PE","zip":"50000-000"}}'
{
  "name": "Maria da Silva",
  "birth_date": "1990-03-15",
  ...
{
  "name": "Maria da Silva",
  "birth_date": "1990-03-15",
  "phone": "(81) 99999-0000",
  "sexo": "F",
  "cpf": "123.456.789-09",
  "email": "maria@exemplo.com",
  "address": {
    "street": "Rua das Flores",
    "number": "123",
    "city": "Recife",
    "state": "PE",
    "zip": "50000-000"
  }
}

Respostas

{
  "id": "9d3f1c2a-6b7e-4a8d-9f01-23456789abcd",
  "name": "MARIA DA SILVA",
  ...
{
  "id": "9d3f1c2a-6b7e-4a8d-9f01-23456789abcd",
  "name": "MARIA DA SILVA",
  "birth_date": "1990-03-15",
  "sexo": "F",
  "phone": "(81) 99999-0000",
  "cpf": "12345678909",
  "email": "maria@exemplo.com",
  "notes": null,
  "address": {
    "street": "RUA DAS FLORES",
    "number": "123",
    "complement": "APTO 101",
    "district": "CENTRO",
    "city": "RECIFE",
    "state": "PE",
    "zip": "50000-000",
    "country": "BRASIL"
  },
  "created_at": "2026-10-13T09:12:45.120000-03:00",
  "updated_at": "2026-10-13T09:12:45.120000-03:00",
  "deleted_at": null
}
{
  "error": "name, birth_date e phone são obrigatórios"
}
{
  "error": "name, birth_date e phone são obrigatórios"
}
{
  "error": "birth_date inválido. Use YYYY-MM-DD"
}
{
  "error": "birth_date inválido. Use YYYY-MM-DD"
}
{
  "error": "sexo deve ser \"M\" ou \"F\""
}
{
  "error": "sexo deve ser \"M\" ou \"F\""
}
{
  "error": "CPF já cadastrado nesta conta"
}
{
  "error": "CPF já cadastrado nesta conta"
}
{
  "error": "Você não tem a permissão \"Cadastrar paciente\".",
  "code": "sem_permissao"
  ...
{
  "error": "Você não tem a permissão \"Cadastrar paciente\".",
  "code": "sem_permissao"
}
{
  "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"
}