Skip to main content
POST
/
ranking
/
demote
/
{userId}
Demote User
curl --request POST \
  --url https://api.series.hr/ranking/demote/{userId} \
  --header 'Content-Type: application/json' \
  --header 'apikey: <api-key>' \
  --data '
{
  "comment": "<string>"
}
'
Requires Premium or Enterprise subscription

Overview

Demotes a user to the next lower rank in the linked Roblox group. The user does not need to be a workspace member - they only need to be a member of the Roblox group. For workspace members:
  • Action is logged to ranking history, audit log, and disciplinary records
  • Workspace member data is updated
  • Related ranking suggestions are cleared
For non-workspace members (group members only):
  • Action is logged to ranking history and audit log only
  • No disciplinary record is created
  • All logs indicate the action was performed via API

Path Parameters

userId
string
required
The Roblox user ID to demote

Request Body

comment
string
Optional reason/comment for the demotion. This will be logged in ranking history and disciplinary records.

Response

success
boolean
Whether the request was successful
data
object

Example

curl -X POST https://api.series.hr/ranking/demote/714760171 \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment": "Inactivity - demoted per policy"}'

Response Example

{
  "success": true,
  "data": {
    "UserId": "714760171",
    "Action": "demote",
    "PreviousRank": 20,
    "PreviousRole": "Junior Staff",
    "NewRank": 5,
    "NewRole": "Trainee",
    "WorkspaceId": "a7d5339a-5531-4336-99c6-6f3249c9ac20"
  }
}

Error Responses

{
  "success": false,
  "error": {
    "code": 400,
    "message": "Validation error: User is already at the lowest rank"
  }
}
{
  "success": false,
  "error": {
    "code": 400,
    "message": "Validation error: No roles configured in workspace"
  }
}
{
  "success": false,
  "error": {
    "code": 403,
    "message": "Ranking management requires a Premium or Enterprise subscription"
  }
}
{
  "success": false,
  "error": {
    "code": 404,
    "message": "User is not a member of this workspace"
  }
}
{
  "success": false,
  "error": {
    "code": 429,
    "message": "Rate limit exceeded for ranking endpoints: 50 requests per second."
  }
}

Side Effects

When a user is demoted, the following actions occur automatically:
  1. Roblox Group Update - User’s rank in the Roblox group is updated
  2. Workspace Data Update - User’s CurrentRank and CurrentRole are updated
  3. Ranking History - Entry logged with timestamp, author, and comment
  4. Disciplinary Log - Record added to user’s disciplinary file
  5. Suggestions Cleared - Pending demotion suggestions for the user are removed

Rate Limit

50 requests per second per API key

Authorizations

apikey
string
header
required

Pass your API key in the apikey header. Alternatively, the x-api-key header is also accepted.

Path Parameters

userId
string
required

The Roblox user ID to demote

Body

application/json
comment
string

Optional reason/comment for the demotion

Response

User demoted