Client exports
accepted result only means the client submitted the request. The server still checks eligibility, permissions, the server-observed ped binding, trigger configuration, cooldowns, and current recording state.
Supported trigger names are manual, save_buffer, gunshot, damage, officer_down, panic, and dispatch.
Server exports
Server exports that act for a player require that playerβs server ID. They re-check access and evidence permissions.Read a recording
A server resource may omit
playerSource only when its resource name is explicitly allowlisted in Config.Permissions.TrustedResources inside eventsBodycam/config/permissions.lua:
Update a recording
These calls fail when the recording is missing, inaccessible, locked where applicable, or the player lacks the required permission.
Integration events
Start from another client resource
Use the local client event when an integration needs to request a supported trigger:Attach voice or radio metadata
Bodycam accepts only the documented metadata event types:voice_activity, radio_tx, and radio_channel.
Observe recording lifecycle
Security boundary
No Bodycam API accepts media chunks, native audio bytes, screenshots, upload tokens, client-selected peds, file paths, or arbitrary recording URLs. Capture, reconstruction, storage, retention, and processing remain owned by Events Core. Events namedeventsBodycam:server:* and eventsBodycam:client:* are internal request and synchronization routes. They are not a stable public API. Use the exports and integration events above instead.
