Pular para o conteúdo

Endpoints de Usuários

Todos os endpoints de usuários requerem autenticação.

Authorization: Bearer <token>

Obtém o perfil do usuário autenticado.

GET /api/v1/users/me
Authorization: Bearer <token>
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "usuario@exemplo.com",
"name": "João Silva",
"phone_number": "+5588998689699",
"role": "OWNER",
"is_active": true,
"created_at": "2025-11-21T10:30:00Z",
"updated_at": null,
"addresses": [
{
"id": "address-uuid",
"street": "Rua Principal",
"number": 123,
"city": "São Paulo",
"state": "SP",
"zip_code": "12345-678",
"country": "Brazil",
"is_primary": true
}
]
}

Atualiza o perfil do usuário autenticado.

PUT /api/v1/users/me
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "João Atualizado",
"email": "novoemail@exemplo.com",
"phone_number": "+5588999999999",
"password": "nova_senha_segura"
}
CampoTipoObrigatórioDescrição
namestringNovo nome do usuário
emailstring (email)Novo email
phone_numberstringNovo telefone
passwordstringNova senha

Retorna o objeto do usuário atualizado.

StatusDetalhe
400Email já em uso por outro usuário
422Erro de validação

Obtém todas as fazendas do usuário autenticado.

GET /api/v1/users/me/farms
Authorization: Bearer <token>
[
{
"id": "farm-uuid-1",
"name": "Fazenda Alpha",
"description": "Fazenda principal de produção",
"owner_id": "user-uuid",
"created_at": "2025-11-21T10:30:00Z"
},
{
"id": "farm-uuid-2",
"name": "Fazenda Beta",
"description": "Fazenda secundária",
"owner_id": "user-uuid",
"created_at": "2025-11-22T08:00:00Z"
}
]

Obtém lista de todos os usuários. Apenas administradores.

GET /api/v1/users/all
Authorization: Bearer <token>

Retorna array de objetos de usuário.

StatusDetalhe
403Permissões insuficientes (usuário não é admin)