Browse docs

Server: Manual tablet registry exports

Reference for Server: Manual tablet registry exports in policejob.

All exports

This page documents the supported public integration calls. Client values are never authoritative for police permissions, review decisions, evidence, offences, or billing.

Server Exports

Manual tablet registry exports

When Config.PoliceTablet.autoFillFromDatabase.citizens = false and/or Config.PoliceTablet.autoFillFromDatabase.vehicles = false, other scripts can manage the manual tablet registry entries through server exports.

If the matching autofill setting is still enabled, these exports return:

{
    success = false,
    error = "auto_fill_enabled"
}

Citizens

Create a manual citizen profile entry.

server.lua
local result = exports["sky_policejob"]:RegisterCitizen({
    identifier = "char1:abcd",
    name = "Max Mustermann",
    gender = "male",
    dob = "1999-04-15",
    job = "Unemployed",
    tags = { "Wanted" },
    notes = {
        { title = "Note", text = "Manual record" }
    },
    fingerprint = "FP-12345",
    dna = "DNA-12345"
})

Update an existing manual citizen profile entry.

server.lua
local result = exports["sky_policejob"]:UpdateCitizen({
    identifier = "char1:abcd",
    name = "Max Mustermann",
    image_url = "https://example.com/citizen.png",
    tags = { "Wanted", "VIP" }
})

Read or delete a manual citizen profile entry.

server.lua
local citizen = exports["sky_policejob"]:GetCitizen("char1:abcd")
local deleted = exports["sky_policejob"]:DeleteCitizen("char1:abcd")

Supported citizen payload fields:

  • identifier
  • name
  • gender
  • dob
  • job
  • image_url or url
  • image_id
  • tags
  • notes
  • fingerprint
  • dna

Vehicles

Create a manual vehicle profile entry.

server.lua
local result = exports["sky_policejob"]:RegisterVehicle({
    plate = "B-EMS-12",
    model = "ambulance",
    owner_name = "Sky Medical",
    owner_identifier = "society:ambulance",
    color = {
        primary = "white",
        secondary = "red"
    }
})

Update an existing manual vehicle profile entry.

server.lua
local result = exports["sky_policejob"]:UpdateVehicle({
    plate = "B-EMS-12",
    tags = { "Fleet" },
    cases = { "CASE-1024" },
    notes = {
        { title = "Storage", text = "Assigned to EMS fleet" }
    }
})

Read or delete a manual vehicle profile entry.

server.lua
local vehicle = exports["sky_policejob"]:GetVehicle("B-EMS-12")
local deleted = exports["sky_policejob"]:DeleteVehicle("B-EMS-12")

Supported vehicle payload fields:

  • plate
  • model
  • ownerName or owner_name
  • ownerIdentifier or owner_identifier
  • color
  • image_url or url
  • image_id
  • tags
  • notes
  • cases

Weapons

Create or update a weapon entry in the weapon registry used by the tablet and the weapon checks.

server.lua
local result = exports["sky_policejob"]:RegisterWeapon({
    serialNumber = "SN-4815-1623",
    model = "WEAPON_PISTOL",
    weaponType = "Pistol",
    manufacturer = "Hawk & Little",
    caliber = "9mm",
    ownerIdentifier = "char1:abcd",
    ownerName = "Max Mustermann",
    registrationStatus = "valid",
    expiresAt = "2027-01-01"
})

if result.success then
    print(result.data.weapon.serial_number)
end

Supported weapon payload fields:

  • serialNumber or serial_number (required)
  • model (required)
  • weaponType or weapon_type
  • manufacturer
  • caliber
  • ownerIdentifier or owner_identifier
  • ownerName or owner_name
  • registrationStatus or registration_status — valid, expired, revoked, lost_stolen, or evidence_hold
  • registeredAt or registered_at (YYYY-MM-DD)
  • expiresAt or expires_at (YYYY-MM-DD)