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 2 months ago

CtrlK
  • 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)

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!

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

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"
  }
}

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.