Endpoints de Usuários
Todos os endpoints de usuários requerem autenticação.
Authorization: Bearer <token>GET /users/me
Seção intitulada “GET /users/me”Obtém o perfil do usuário autenticado.
Requisição
Seção intitulada “Requisição”GET /api/v1/users/meAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "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 } ]}PUT /users/me
Seção intitulada “PUT /users/me”Atualiza o perfil do usuário autenticado.
Requisição
Seção intitulada “Requisição”PUT /api/v1/users/meAuthorization: Bearer <token>Content-Type: application/json{ "name": "João Atualizado", "email": "novoemail@exemplo.com", "phone_number": "+5588999999999", "password": "nova_senha_segura"}Parâmetros do Body
Seção intitulada “Parâmetros do Body”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | ❌ | Novo nome do usuário |
email | string (email) | ❌ | Novo email |
phone_number | string | ❌ | Novo telefone |
password | string | ❌ | Nova senha |
Resposta 200 OK
Seção intitulada “Resposta 200 OK”Retorna o objeto do usuário atualizado.
Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
400 | Email já em uso por outro usuário |
422 | Erro de validação |
GET /users/me/farms
Seção intitulada “GET /users/me/farms”Obtém todas as fazendas do usuário autenticado.
Requisição
Seção intitulada “Requisição”GET /api/v1/users/me/farmsAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”[ { "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" }]GET /users/all
Seção intitulada “GET /users/all”Obtém lista de todos os usuários. Apenas administradores.
Requisição
Seção intitulada “Requisição”GET /api/v1/users/allAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”Retorna array de objetos de usuário.
Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
403 | Permissões insuficientes (usuário não é admin) |