Skip to main content
PUT
/
api
/
roles
/
{id}
curl -X PUT https://api.maqagr.com/api/roles/3 \
  -H "Authorization: Bearer ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "role_name": "super_moderator",
    "description": "Moderador con permisos extendidos",
    "status": "active"
  }'
{
  "success": true,
  "message": "Rol actualizado exitosamente",
  "data": {
    "role": {
      "role_id": 3,
      "role_name": "super_moderator",
      "description": "Moderador con permisos extendidos",
      "status": "active",
      "created_at": "2024-03-11T20:00:00.000Z",
      "updated_at": "2024-03-11T20:30:00.000Z"
    }
  }
}

Overview

Updates an existing role in the system. This endpoint is restricted to administrators only. At least one field must be provided for the update.
Admin Access Required: This endpoint requires administrator privileges. Regular users will receive a 403 Forbidden error.

Authentication

Requires JWT authentication token with admin role in the Authorization header.
Authorization: Bearer <admin_token>

Path Parameters

id
integer
required
The ID of the role to update.

Request Body

role_name
string
New name for the role. Must be unique and at least 2 characters long.
description
string
New description for the role.
status
string
Status of the role.Options: active, inactive
At least one field (role_name, description, or status) must be provided.

Response

success
boolean
Indicates if the request was successful.
message
string
Success message.
data
object
curl -X PUT https://api.maqagr.com/api/roles/3 \
  -H "Authorization: Bearer ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "role_name": "super_moderator",
    "description": "Moderador con permisos extendidos",
    "status": "active"
  }'
{
  "success": true,
  "message": "Rol actualizado exitosamente",
  "data": {
    "role": {
      "role_id": 3,
      "role_name": "super_moderator",
      "description": "Moderador con permisos extendidos",
      "status": "active",
      "created_at": "2024-03-11T20:00:00.000Z",
      "updated_at": "2024-03-11T20:30:00.000Z"
    }
  }
}

Validation Rules

  • At least one field must be provided for update
  • role_name must be at least 2 characters if provided
  • role_name must be unique if provided
  • status must be either “active” or “inactive” if provided
  • User must have administrator role
  • Role ID must be valid

Source Code Reference

  • Route: src/routes/role.routes.js:286
  • Controller: src/controllers/roleController.js:118
  • Middleware: src/middleware/auth.middleware.js (isAdmin)

Build docs developers (and LLMs) love