PRC Private Server API
  • â„šī¸API Information
    • 👋Introduction
    • âš–ī¸API Use Guidelines
  • đŸ› ī¸For Developers
    • 📚API Reference
    • 🚨Rate Limits
    • 🚧Error Codes
    • 📈Large-Scale Apps
  • đŸ“ĸFor the public
    • â˜„ī¸Intro to the API
Powered by GitBook
On this page
  1. For Developers

API Reference

PreviousAPI Use GuidelinesNextRate Limits

Last updated 11 days ago

API Authentication

All requests to the API must have a valid Server-Key header provided.

Not sure where to find your server key?

Join your private server, open the settings, and search for "API key" under the ER:LC API header.

API Reference

PRC moderators and the API development team are unable to provide support with coding or integrating the API into third party solutions.

POST endpoints have higher rate limits, ensure you are reading and respecting all rate limit headers!

Resetting a global API key:

If you were issued a global API key, you can reset it by sending a POST to /v1/api-key/reset with the "authorization" header set as your API key. This will send a new key which can only be viewed once. If you lose the key, the person who requested the API key must contact PRC.

đŸ› ī¸
📚

Fetch server status

get
Authorizations
Responses
200
Server status data
application/json
403
Unauthorized
get
GET /v1/server HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
{
  "Name": "API Test",
  "OwnerId": 1,
  "CoOwnerIds": [
    1
  ],
  "CurrentPlayers": 1,
  "MaxPlayers": 1,
  "JoinKey": "APIServer",
  "AccVerifiedReq": "Disabled / Email / Phone/ID",
  "TeamBalance": true
}

Fetch players in server

get
Authorizations
Responses
200
Players in server
application/json
403
Unauthorized
get
GET /v1/server/players HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Player": "PlayerName:Id",
    "Permission": "Normal / Server Administrator / Server Owner / Server Moderator",
    "Callsign": "The player's callsign - only available if the player is on a non-civilian team",
    "Team": "The player's team "
  }
]

Fetch join logs

get
Authorizations
Responses
200
Join logs data
application/json
403
Unauthorized
get
GET /v1/server/joinlogs HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Join": true,
    "Timestamp": 1704614400,
    "Player": "PlayerName:Id"
  }
]

Fetch players in queue

get
Authorizations
Responses
200
Players in queue (by Roblox id)
application/json
Responseinteger[]
403
Unauthorized
get
GET /v1/server/queue HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  1
]

Fetch kill logs

get
Authorizations
Responses
200
Kill logs data
application/json
403
Unauthorized
get
GET /v1/server/killlogs HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Killed": "PlayerName:Id",
    "Timestamp": 1704614400,
    "Killer": "PlayerName:Id"
  }
]

Fetch command logs

get
Authorizations
Responses
200
Command logs data
application/json
403
Unauthorized
get
GET /v1/server/commandlogs HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Player": "PlayerName:Id",
    "Timestamp": 1704614400,
    "Command": ":h"
  }
]

Fetch moderator call logs

get
Authorizations
Responses
200
Moderator call logs data. 'Moderator' is only sent if a mod has responded to the call.
application/json
403
Unauthorized
get
GET /v1/server/modcalls HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Caller": "PlayerName:Id",
    "Moderator": "PlayerName:Id",
    "Timestamp": 1704614400
  }
]

Fetch bans

get
Authorizations
Responses
200
Bans data
application/json
403
Unauthorized
get
GET /v1/server/bans HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
{
  "PlayerId": "PlayerName"
}

Fetch a list of spawned vehicles in the server

get
Authorizations
Responses
200
Vehicles in the server
application/json
403
Unauthorized
get
GET /v1/server/vehicles HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
[
  {
    "Texture": "Standard",
    "Name": "2019 Falcon Interceptor Utility",
    "Owner": "flat_bird"
  }
]
Deprecated

Fetch a list of the server's staff (mods + admins)

get
Authorizations
Responses
200
Server Staff
application/json
403
Unauthorized
get
GET /v1/server/staff HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Accept: */*
{
  "CoOwners": [
    1
  ],
  "Admins": {
    "54249787": "Black_Hallow",
    "77573259": "sli_ckk"
  },
  "Mods": {
    "2": "JohnDoe",
    "3": "JaneDoe"
  }
}
  • API Authentication
  • API Reference
  • POSTRun a command as a player named "virtual server management"
  • GETFetch server status
  • GETFetch players in server
  • GETFetch join logs
  • GETFetch players in queue
  • GETFetch kill logs
  • GETFetch command logs
  • GETFetch moderator call logs
  • GETFetch bans
  • GETFetch a list of spawned vehicles in the server
  • GETFetch a list of the server's staff (mods + admins)

Run a command as a player named "virtual server management"

post
Authorizations
Body
commandstringOptional

The command to be executed

Example: :h Hey everyone!
Responses
200
Command executed successfully
400
Bad request
403
Unauthorized
422
The private server has no players in it
500
Problem communicating with Roblox
post
POST /v1/server/command HTTP/1.1
Host: api.policeroleplay.community
server-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "command": ":h Hey everyone!"
}

No content