Developer Documentationv1.4.1Protocol v4
AXIOS / Developer / Documentation

Developer platform

Build against AXIOS as infrastructure.

Use stable FiveM exports, a signed protocol-v4 runtime API, credential-scoped external REST endpoints, Socket.IO events, and signed webhooks — all backed by the same tenant-scoped CAD state.

v1.4.1330 server exports91 signed runtime routes278 HTTP routes35 realtime events
Start here. If your integration runs inside FiveM, use a dedicated named server export first. Use AxiosRequest only when the required signed /v1/fivem/* operation has no named export. External services should use scoped API credentials instead of FiveM secrets.
01

Quickstart

Verify the bridge, inspect the negotiated contract, then call a protected export from an explicitly trusted server resource.

1. Install the bridge

  1. Create a FiveM server connection in tenant Administration.
  2. Copy fivem/axios-cad-bridge into your server resources.
  3. Configure the HTTPS CAD URL, tenant ID, server key, and one-time secret in server-only config.
  4. Add the exact invoking resource names to the read/write ACL.
  5. Start dependencies first, then ensure axios-cad-bridge.
OneSync is required. Keep all server secrets out of client/shared Lua and public repositories.
lua
local cad = exports['axios-cad-bridge']

if not cad:IsReady() then
    print('AXIOS bridge is not ready')
    return
end

print(('AXIOS protocol v%s'):format(cad:GetProtocolVersion()))

cad:HasActiveWarrant(personId, function(ok, active, statusCode)
    if ok and active then
        print('Active warrant returned by AXIOS')
    end
end)
02

Authentication

AXIOS uses different trust models for browser users, external services, and FiveM servers.

Web application

Bearer access token

POST /v1/auth/login returns a short-lived access token. Send it as Authorization: Bearer …. Refresh tokens rotate through restricted cookies.

External service

Scoped API credential

Credentials use the axios_<prefix>.<secret> format and are shown once. Assign only the minimum required scope.

FiveM server

Protocol-v4 HMAC

Every signed request is tenant/server scoped and binds the idempotency key, method, exact path/query, and body digest into the signature.

03

Security model

Protected exports are default-deny by invoking resource, with separate trust for reads, writes, and generic signed requests.

lua
ServerConfig.Security = {
    EnforceResourceACL = true,
    AllowAllReadExports = false,
    AllowAllWriteExports = false,
    AllowAllGenericRequests = false,

    ReadResources = {
        ['my-dispatch-hud'] = true,
    },
    WriteResources = {
        ['my-police-actions'] = true,
    },
    GenericRequestResources = {
        -- Prefer dedicated exports whenever possible.
    },
}

Resource ACL behavior

  • ReadResources may call protected read exports.
  • WriteResources receive controlled mutation exports and inherit read access.
  • GenericRequestResources is separate; write access does not grant AxiosRequest.
  • Public bridge metadata such as version/export inventory contains no CAD records or secrets.
  • Denied protected export calls return export_resource_forbidden and are logged server-side.
Authoritative legal-record protection. Broad scope='all' mutations for warrants, BOLOs, or parole are rejected unless an administrator explicitly enables security.allowAuthoritativeMutations=true.

Protocol-v4 canonical signature

The runtime bridge signs the exact canonical string below with HMAC-SHA256 using the FiveM server secret.

text
v4
<timestamp>
<tenantId>
<serverKey>
<idempotencyKey>
<METHOD>
<exact-path-and-query>
<sha256(rawBody)>
04

FiveM SDK

330 named server exports plus 7 client exports. Data callbacks receive (ok, data, statusCode, headers); boolean helpers receive (ok, trueOrFalse, statusCode, headers).

330server exports
7client exports
10module gates
v4protocol
server exportHasActiveWarrant(personId, callback)

Returns a literal boolean derived from authoritative warrant state. Use this for officer alerts and gameplay logic without parsing the full person record.

ParameterspersonId string / UUIDcallback function
Callback(ok, active, statusCode, headers)active is always boolean when invoked
AccessProtected read exportRequires allowed invoking resource
server exportGetPersonStatus(personId, callback)

Efficient bulk status snapshot for scripts that need several derived booleans at once, including felony, active warrant/BOLO, parole, flag categories, credential state, assets, and record-history indicators.

ParameterspersonId string / UUIDcallback function
Callback(ok, status, statusCode, headers)Structured status object
Recommended forTraffic stops, ALPR follow-up, officer panels
server exportSetPersonBoolean(personId, key, value, data, callback)

Creates or updates an audited custom boolean marker. Useful for community workflows that need persistent true/false state without schema changes.

ParameterspersonId, key, valuedata optional metadata table
Callback(ok, result, statusCode, headers)
AccessProtected write exportRequires WriteResources
server exportCreate911Call(source, data, callback)

Creates a signed, idempotent CAD call from another trusted server resource using the same bridge path as in-game 911 integrations.

Parameterssource player sourcedata call payload
Callback(ok, call, statusCode, headers)
ModuleDispatch must be enabled
server exportSetUnitStatus(sourceOrExternalUnitId, status, callId, callback)

Updates the synchronized CAD unit status and optional active-call context. Player sources are resolved to their mapped external unit ID before the signed request is sent.

Parameterssource or external unit IDstatus, optional callId
Callback(ok, result, statusCode, headers)
ModuleDispatch
advanced exportAxiosRequest(method, path, payload, callback)

Generic signed extension path for supported /v1/fivem/* operations that do not have a dedicated named export. It is intentionally protected by a separate ACL.

Path ruleMust start with /v1/fivem/
AccessGenericRequestResources only
GuidancePrefer dedicated exports where available
05

Boolean state & community flags

Use literal helpers when a script only needs a true/false answer. Use GetPersonStatus when several derived states are needed in one request.

Legal state

IsFelon, HasActiveWarrant, HasActiveBolo, IsOnParole, HasParoleViolation.

Configured flags

GetPersonFlag, SetPersonFlag, IsPersonFlagPresent plus named helpers such as IsKnownGangMember, IsDeaf, and IsNonVerbal.

Custom markers

GetPersonBoolean, SetPersonBoolean, ClearPersonBoolean, IsPersonBooleanDefined.

lua
exports['axios-cad-bridge']:GetPersonStatus(personId, function(ok, status, statusCode, headers)
    if not ok then return end

    print(status.booleans.felon)
    print(status.booleans.activeWarrant)
    print(status.booleans.onParole)
    print(status.booleans.stolenVehicle)
end)
lua
exports['axios-cad-bridge']:SetPersonBoolean(
    personId,
    'needs_transport',
    true,
    { note = 'Set by custody workflow' },
    function(ok, result, statusCode)
        if ok then print(json.encode(result)) end
    end
)
06

Dispatch & unit integration

Use named exports for call creation, assignment, acknowledgement, responder notes, unit state, GPS, and emergency workflows.

Create911Call(source, data, callback)

Create signed/idempotent 911 intake.

GetActiveCalls([status], callback)

Read active calls with optional status filtering.

AttachUnitToCall(sourceOrExternalUnitId, callId, [role], callback)

Attach a synchronized unit to a CAD call.

AddCallNote(sourceOrExternalUnitId, callId, body, callback)

Add a responder note.

SetUnitStatus(sourceOrExternalUnitId, status, callId, callback)

Update unit status and optional call context.

SetUnitEmergency(sourceOrExternalUnitId, state, note, callback)

Set or clear mayday/emergency state.

07

Identity & records

Authoritative identity can be consumed without maintaining a second person database.

GetCitizenIdentity(personId, callback)

Full authorized identity snapshot.

SearchPerson(query, callback)

Search authorized person records.

GetPersonLicenses(personId, callback)

License collection and lifecycle state.

GetPersonFlags(personId, callback)

Lookup-visible community flags.

GetVehicleByPlate(plate, callback)

Authoritative vehicle record.

GetFirearmBySerial(serial, callback)

Authoritative firearm record.

GetWarrant(number, callback)

Warrant record lookup.

GetParoleStatus(personId, callback)

Supervision/parole status.

08

Signed FiveM HTTP API

91 tenant-scoped, module-aware runtime routes sit behind the named exports and advanced AxiosRequest integrations.

CallsCreate/read calls, status, priority, location, notes, assignment, acknowledgement, closure.
UnitsCharacter/duty sync, assignments, status, GPS, emergency, duty state.
IdentityIdentity snapshot, booleans, aliases, addresses, licenses, flags, warrants, assets, history.
RecordsPerson, vehicle, firearm, warrant, BOLO search plus controlled mutations.
ParoleSupervision status, check-ins, violations, and module-aware writes.
DiscoveryConnection validation, effective modules, bridge/protocol version, export inventory.
Prefer named exports. The raw runtime API exists for advanced integrations; AxiosRequest can only reach /v1/fivem/* and requires its own resource ACL.
09

Scoped external API

External systems authenticate with administrator-created API credentials, not FiveM server secrets.

MethodEndpointMinimum scopePurpose
POST/v1/external/callsdispatch:createCreate an incoming call.
POST/v1/external/webhooks/callsdispatch:createReceive external call-provider webhook intake.
GET/v1/external/records/searchrecords:searchSearch authorized people, vehicles, firearms, and warrants.
GET/v1/external/people/:id/eligibilityrecords:eligibilityRetrieve derived felony/warrant/license eligibility.
GET/v1/external/people/:id/identityrecords:searchRetrieve the authorized identity snapshot.

Create an incoming call

bash
curl -X POST https://cad.example.com/v1/external/calls \
  -H 'Authorization: Bearer axios_prefix.secret' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: phone-call-provider-id-123' \
  -d '{"type":"911 Call","priority":2,"callerName":"Caller","locationText":"Alta St / Vespucci Blvd","narrative":"Two vehicles, one person injured"}'
Idempotency: replay the same key with an identical body to receive the stored response. Reusing a key with a different body is rejected.
10

Socket.IO realtime

Connect to /socket.io with { auth: { token: accessToken } }. Treat events as change/invalidation notices and reload authoritative state after reconnect.

ai:recommendationai:reviewedassignment:newcall:acknowledgedcall:alertcall:assignmentcall:assignments:batchcall:closedcall:createdcall:mergedcall:mutual-aidcall:notecall:reopenedcall:transferredcall:unassignedcall:unit_assignedcall:unit_removedcall:updatedcall:viewingmodules:updatedparole:caseparole:checkinparole:violationperson:identity-updatedpresence:readyreport:reviewedserver:recoveredsession:refresh-requiredunit:disconnectedunit:emergencyunit:locationunit:updatedwarrant:decisionwarrant:submittedwarrant:updated
11

Outbound webhooks

Tenant webhooks are durable, filtered, signed, retried, and include response history plus manual retry support.

Verification headers

  • X-AXIOS-Event
  • X-AXIOS-Event-ID
  • X-AXIOS-Timestamp
  • X-AXIOS-Signature

Compute HMAC-SHA256(secret, timestamp + "." + rawBody), compare in constant time, reject stale timestamps, and persist event IDs to prevent replay.

text
X-AXIOS-Event: call.create
X-AXIOS-Event-ID: <uuid>
X-AXIOS-Timestamp: <unix-seconds>
X-AXIOS-Signature: sha256=<hex>

expected = HMAC_SHA256(secret, timestamp + '.' + rawBody)
12

Module-aware integration gates

GetModules() and IsModuleEnabled() expose effective tenant entitlements. Disabled modules return a server-side feature/module denial — they are not only hidden navigation.

DispatchRecordsFireEMSJudicialParoleCivilian PortalAI AssistanceIntegrationsAudit
13

Errors, limits & versioning

Design integrations for explicit failures and additive API evolution.

Error contract

HTTP errors include a stable error code and most include x-correlation-id. Retain the correlation ID for support.

Status handling

Handle 401, 402, 403, 409, 422, 429, and 5xx explicitly. FiveM callbacks also provide statusCode and response headers.

Versioning

HTTP routes are path-versioned under /v1. Additive response fields may appear; clients should ignore unknown fields.

Interactive OpenAPI: every AXIOS deployment serves interactive API documentation at /docs.
14

FiveM runtime hooks

Beyond server exports, the bridge exposes client-side MDT state helpers, commands, network events, and NUI callbacks for the first-party integration.

Client exports 7

IsMdtOpenSetMdtOpenOpenMdtCloseMdtToggleMdtGetAssignmentsHasAssignments

Commands 4

/cad/panic/cadcallsign/911

Server events 6

axios-cad:server:playerReadyaxios-cad:server:jobUpdatedaxios-cad:server:911axios-cad:server:acknowledgeaxios-cad:server:addNoteaxios-cad:server:setStatus

Client events 5

axios-cad:client:assignmentsaxios-cad:client:unitReadyaxios-cad:client:acknowledgedaxios-cad:client:noteAddedaxios-cad:client:localEmergency

NUI callbacks 5

closeacknowledgeaddNotestatuswaypoint
R1

Full FiveM export reference

Search the complete v1.4.1 named server-export inventory. Runtime discovery is also available through GetExportCount() and GetExportNames().

Core / connection / generic bridge10 named server exports10 exports
IsReadyGetProtocolVersionGetBridgeVersionGetBridgeStateGetExportCountGetExportNamesValidateConnectionAxiosRequestGetModulesIsModuleEnabled
Dispatch / units34 named server exports34 exports
Create911CallCreateCallGetCallGetCallsGetActiveCallsIsCallActiveGetCallNotesGetCallUnitsSetCallStatusSetCallPrioritySetCallLocationCloseCallDeleteCallAcknowledgeCallAddCallNoteAttachUnitToCallDetachUnitFromCallIsUnitAssignedToCallSyncCharacterSyncDutyGetLocalUnitStateGetUnitStateGetUnitGetUnitsGetAssignmentsGetUnitAssignmentsHasAssignmentsSetUnitStatusSetUnitLocationSetUnitEmergencyClearUnitEmergencyIsUnitEmergencyIsUnitOnDutySetUnitOffDuty
Identity / records31 named server exports31 exports
SearchPersonLookupPersonSearchVehicleLookupPlateSearchFirearmLookupFirearmSearchWarrantSearchBoloCheckEligibilityGetCitizenIdentityGetPersonIdentityGetPersonStatusGetPersonBooleansGetPersonLicensesGetPersonEndorsementsGetPersonFlagsGetPersonWarrantsGetPersonBolosGetPersonVehiclesGetPersonFirearmsGetPersonCitationsGetPersonArrestsGetPersonConvictionsGetPersonAliasesGetPersonAddressesGetPersonReportsUpdatePersonSetPersonActiveGetFlagTypesGetLicenseTypesGetEndorsementTypes
Generic boolean / marker API13 named server exports13 exports
GetPersonBooleanStateGetBooleanStateGetPersonBooleanGetBooleanSetPersonBooleanSetBooleanClearPersonBooleanClearBooleanIsPersonBooleanPresentHasPersonBooleanIsBooleanPresentIsPersonBooleanDefinedIsBooleanDefined
Derived record-backed booleans. Get*/Has*/Is*Present return literal booleans.75 named server exports75 exports
GetFelonIsFelonPresentGetActiveWarrantIsActiveWarrantPresentGetActiveBoloIsActiveBoloPresentGetOnParoleIsOnParolePresentGetParoleViolationIsParoleViolationPresentGetFlaggedIsFlaggedPresentGetCriticalFlagIsCriticalFlagPresentGetSafetyFlagIsSafetyFlagPresentGetMedicalFlagIsMedicalFlagPresentGetAccessibilityFlagIsAccessibilityFlagPresentGetInformationalFlagIsInformationalFlagPresentGetActiveLicenseIsActiveLicensePresentGetSuspendedLicenseIsSuspendedLicensePresentGetRevokedLicenseIsRevokedLicensePresentGetActiveEndorsementIsActiveEndorsementPresentGetSuspendedEndorsementIsSuspendedEndorsementPresentGetVehicleRecordIsVehicleRecordPresentGetStolenVehicleIsStolenVehiclePresentGetFirearmRecordIsFirearmRecordPresentGetStolenFirearmIsStolenFirearmPresentGetCitationRecordIsCitationRecordPresentGetArrestRecordIsArrestRecordPresentGetConvictionRecordIsConvictionRecordPresentGetFelonyConvictionIsFelonyConvictionPresentGetPersonActiveIsPersonActivePresentIsFelonHasActiveWarrantHasActiveBoloIsOnParoleHasParoleViolationHasAnyFlagHasCriticalFlagHasSafetyFlagHasMedicalFlagHasAccessibilityFlagHasInformationalFlagHasActiveLicenseHasSuspendedLicenseHasRevokedLicenseHasActiveEndorsementHasSuspendedEndorsementHasVehicleHasStolenVehicleHasFirearmHasStolenFirearmHasCitationRecordHasArrestRecordHasConvictionRecordHasFelonyConvictionIsPersonActive
Record-backed setters. A false value never deletes protected legal history.4 named server exports4 exports
SetFelonSetActiveWarrantSetActiveBoloSetOnParole
Custom named markers use the generic audited boolean store.60 named server exports60 exports
GetMissingIsMissingIsMissingPresentSetMissingClearMissingGetDeceasedIsDeceasedIsDeceasedPresentSetDeceasedClearDeceasedGetOnProbationIsOnProbationIsOnProbationPresentSetOnProbationClearOnProbationGetUnderInvestigationIsUnderInvestigationIsUnderInvestigationPresentSetUnderInvestigationClearUnderInvestigationGetProtectedPersonIsProtectedPersonIsProtectedPersonPresentSetProtectedPersonClearProtectedPersonGetOfficerSafetyAlertIsOfficerSafetyAlertIsOfficerSafetyAlertPresentSetOfficerSafetyAlertClearOfficerSafetyAlertGetMedicalAlertIsMedicalAlertIsMedicalAlertPresentSetMedicalAlertClearMedicalAlertGetFirearmProhibitedIsFirearmProhibitedIsFirearmProhibitedPresentSetFirearmProhibitedClearFirearmProhibitedGetLicenseHoldIsLicenseHoldIsLicenseHoldPresentSetLicenseHoldClearLicenseHoldGetVehicleImpoundHoldIsVehicleImpoundHoldIsVehicleImpoundHoldPresentSetVehicleImpoundHoldClearVehicleImpoundHoldGetCourtHoldIsCourtHoldIsCourtHoldPresentSetCourtHoldClearCourtHoldGetCitationHoldIsCitationHoldIsCitationHoldPresentSetCitationHoldClearCitationHold
Person flags58 named server exports58 exports
GetPersonFlagGetFlagGetPersonFlagValueGetFlagValueSetPersonFlagSetFlagClearPersonFlagClearFlagIsPersonFlagPresentIsFlagPresentHasPersonFlagHasFlagAddPersonFlagRemovePersonFlagGetKnownGangMemberFlagGetKnownGangMemberIsKnownGangMemberIsKnownGangMemberPresentHasKnownGangMemberFlagSetKnownGangMemberClearKnownGangMemberGetAggressiveFlagGetAggressiveIsAggressiveIsAggressivePresentHasAggressiveFlagSetAggressiveClearAggressiveGetMentalHealthAlertFlagGetMentalHealthAlertIsMentalHealthAlertIsMentalHealthAlertPresentHasMentalHealthAlertFlagSetMentalHealthAlertClearMentalHealthAlertGetDeafFlagGetDeafIsDeafIsDeafPresentHasDeafFlagSetDeafClearDeafGetNonVerbalFlagGetNonVerbalIsNonVerbalIsNonVerbalPresentHasNonVerbalFlagSetNonVerbalClearNonVerbalGetSignLanguageFlagGetSignLanguageIsSignLanguageIsSignLanguagePresentHasSignLanguageFlagSetSignLanguageClearSignLanguageUsesSignLanguageSetUsesSignLanguage
Licensing / endorsements17 named server exports17 exports
GetLicenseByTypeGetLicenseStatusHasLicenseTypeIsLicenseTypePresentIsLicenseActiveIsLicenseSuspendedIsLicenseRevokedSetLicenseStatusSetLicenseTypeStatusGetEndorsementByTypeGetEndorsementStatusHasEndorsementIsEndorsementPresentIsEndorsementActiveIsEndorsementSuspendedSetEndorsementStatusSetEndorsementTypeStatus
Vehicles / firearms14 named server exports14 exports
GetVehicleByPlateGetVehicleCreateVehicleUpdateVehicleIsVehicleStolenSetVehicleStolenGetVehicleOwnerGetFirearmBySerialGetFirearmCreateFirearmUpdateFirearmIsFirearmStolenSetFirearmStolenGetFirearmOwner
Warrants / BOLOs8 named server exports8 exports
GetWarrantCreateWarrantSetWarrantStatusGetBoloCreateBoloSetBoloStatusGetActiveWarrantsAndBolosGetAllWarrantsAndBolos
Parole6 named server exports6 exports
GetParoleStatusGetParoleCasesGetParoleCheckInsGetParoleViolationsCreateParoleCheckInCreateParoleViolation
R2

Full HTTP route reference

Search all 278 registered routes in AXIOS CAD Platform v1.4.1. This includes first-party application routes plus /healthz and /readyz.

Platform & AdministrationPlans, organizations, users, roles, reference data, integrations, audit, uploads, and webhooks.58 routes
MethodRoute
POST/v1/platform/organizations
GET/v1/platform/organizations
GET/v1/platform/health
POST/v1/platform/organizations/:id/status
POST/v1/platform/organizations/:id/impersonations
GET/v1/platform/organizations/:id/impersonations
POST/v1/platform/organizations/:id/impersonations/:impersonationId/decision
POST/v1/platform/organizations/:id/impersonations/:impersonationId/start
POST/v1/platform/organizations/:id/impersonations/:impersonationId/end
POST/v1/platform/organizations/:id/revoke-sessions
POST/v1/platform/organizations/:id/api-credentials/:credentialId/rotate
GET/v1/platform/plans
PUT/v1/platform/plans/:planId
PUT/v1/platform/organizations/:id/entitlements
PUT/v1/platform/organizations/:id/maintenance
POST/v1/platform/organizations/:id/billing/subscribe
POST/v1/platform/organizations/:id/billing/cancel
GET/v1/admin/departments
POST/v1/admin/departments
GET/v1/admin/users
POST/v1/admin/invitations
PATCH/v1/admin/users/:id
GET/v1/admin/permissions
GET/v1/admin/roles
POST/v1/admin/roles
PUT/v1/admin/roles/:id/permissions
GET/v1/admin/code-sets/:kind
PUT/v1/admin/code-sets/:kind/:code
GET/v1/admin/reference-data
POST/v1/admin/ranks
POST/v1/admin/stations
POST/v1/admin/hospitals
POST/v1/admin/geography
POST/v1/admin/response-plans
GET/v1/admin/settings
PUT/v1/admin/settings
POST/v1/admin/api-credentials
GET/v1/admin/api-credentials
POST/v1/admin/api-credentials/:id/rotate
DELETE/v1/admin/api-credentials/:id
POST/v1/admin/webhooks
PUT/v1/admin/integrations/:provider/:name
POST/v1/admin/webhooks/:id/rotate-secret
GET/v1/admin/webhooks/:id/deliveries
POST/v1/admin/webhook-deliveries/:id/retry
GET/v1/admin/integrations/health
GET/v1/exports/:type.csv
POST/v1/uploads/presign
GET/v1/uploads/:id/download
GET/v1/audit
GET/v1/audit/export.csv
GET/v1/audit/verify
GET/v1/notifications
POST/v1/notifications/:id/read
POST/v1/imports/preview
POST/v1/imports/preview.csv
POST/v1/imports/:id/commit
POST/v1/billing/stripe/webhook
Authentication & SessionsLogin, refresh, MFA, OAuth/OIDC, invitations, password reset, verification, and session controls.16 routes
MethodRoute
GET/v1/auth/providers
GET/v1/auth/oauth/:provider/start
GET/v1/auth/oauth/:provider/callback
POST/v1/auth/login
POST/v1/auth/refresh
POST/v1/auth/logout
POST/v1/auth/invitations/accept
POST/v1/auth/password-reset/request
POST/v1/auth/password-reset/confirm
POST/v1/auth/email/verify
GET/v1/auth/mfa
POST/v1/auth/mfa/totp/enroll
POST/v1/auth/mfa/totp/:id/verify
DELETE/v1/auth/mfa/totp/:id
GET/v1/auth/sessions
DELETE/v1/auth/sessions/:id
Civilian PortalCharacters, registrations, applications, renewals, reports, 911, and civilian-safe supervision visibility.17 routes
MethodRoute
GET/v1/public/:slug/branding
GET/v1/public/:slug/court
GET/v1/civilian/characters
GET/v1/civilian/characters/:personId/parole
POST/v1/civilian/characters
PATCH/v1/civilian/characters/:id
POST/v1/civilian/characters/:id/addresses
POST/v1/civilian/characters/:id/vehicles
POST/v1/civilian/characters/:id/firearms
GET/v1/civilian/characters/:id/history
POST/v1/civilian/characters/:id/license-applications
POST/v1/civilian/characters/:personId/licenses/:licenseId/renew
POST/v1/civilian/characters/:personId/endorsements/:endorsementId/renew
POST/v1/civilian/reports
POST/v1/civilian/911
GET/v1/admin/license-applications
POST/v1/admin/license-applications/:id/decision
Dispatch & UnitsCalls, assignments, notes, alerts, status, GPS, emergency state, transfers, merge, mutual aid, and viewing state.22 routes
MethodRoute
GET/v1/calls
GET/v1/calls/:id
POST/v1/calls
PATCH/v1/calls/:id
POST/v1/calls/:id/merge
POST/v1/calls/:id/transfer
POST/v1/calls/:id/mutual-aid
POST/v1/calls/:id/alerts
POST/v1/calls/:id/viewing
POST/v1/calls/:id/assignments
DELETE/v1/calls/:callId/assignments/:unitId
POST/v1/calls/:callId/assignments/:unitId/acknowledge
POST/v1/calls/:callId/notes
POST/v1/calls/:id/close
POST/v1/calls/:id/reopen
GET/v1/units
GET/v1/me/units
POST/v1/units/duty
PATCH/v1/units/:id
POST/v1/units/:id/location
POST/v1/units/:id/emergency
GET/v1/me/assignments
Scoped External APICredential-scoped call intake, record search, identity, eligibility, and external webhook intake.5 routes
MethodRoute
POST/v1/external/calls
POST/v1/external/webhooks/calls
GET/v1/external/records/search
GET/v1/external/people/:id/eligibility
GET/v1/external/people/:id/identity
FiveM Bridge APIThree server-management routes plus 91 signed protocol-v4 runtime routes for calls, units, identity, booleans, assets, warrants, BOLOs, and parole.94 routes
MethodRoute
POST/v1/admin/fivem-servers
POST/v1/admin/fivem-servers/:id/rotate
DELETE/v1/admin/fivem-servers/:id
GET/v1/fivem/validate
GET/v1/fivem/modules
POST/v1/fivem/heartbeat
POST/v1/fivem/characters/sync
POST/v1/fivem/units/duty
POST/v1/fivem/units/:externalUnitId/gps
GET/v1/fivem/calls
GET/v1/fivem/calls/:callId
POST/v1/fivem/calls
POST/v1/fivem/911
POST/v1/fivem/calls/:callId/acknowledge
POST/v1/fivem/calls/:callId/notes
POST/v1/fivem/units/:externalUnitId/status
POST/v1/fivem/units/:externalUnitId/off-duty
POST/v1/fivem/units/:externalUnitId/emergency
GET/v1/fivem/units/:externalUnitId/assignments
POST/v1/fivem/sync
GET/v1/fivem/people/:id/status
GET/v1/fivem/people/:id/booleans
GET/v1/fivem/people/:id/booleans/:key
POST/v1/fivem/people/:id/booleans/:key
DELETE/v1/fivem/people/:id/booleans/:key
POST/v1/fivem/people/:id/felon
GET/v1/fivem/people/:id/flags/:code
POST/v1/fivem/people/:id/flags/:code
GET/v1/fivem/people/:id/endorsements
GET/v1/fivem/people/:id/vehicles
GET/v1/fivem/people/:id/firearms
GET/v1/fivem/people/:id/bolos
GET/v1/fivem/people/:id/citations
GET/v1/fivem/people/:id/arrests
GET/v1/fivem/people/:id/convictions
GET/v1/fivem/people/:id/aliases
GET/v1/fivem/people/:id/addresses
GET/v1/fivem/people/:id/reports
PATCH/v1/fivem/people/:id
POST/v1/fivem/people/:id/active-warrant
POST/v1/fivem/people/:id/active-bolo
POST/v1/fivem/vehicles/stolen
POST/v1/fivem/firearms/stolen
GET/v1/fivem/people/:id/licenses/type/:code
GET/v1/fivem/people/:id/endorsements/type/:code
POST/v1/fivem/endorsements/:id/status
GET/v1/fivem/parole/cases/:id/check-ins
GET/v1/fivem/parole/cases/:id/violations
POST/v1/fivem/parole/people/:id/active-state
GET/v1/fivem/units
GET/v1/fivem/units/:externalUnitId
GET/v1/fivem/calls/:callId/notes
GET/v1/fivem/calls/:callId/units
POST/v1/fivem/calls/:callId/status
POST/v1/fivem/calls/:callId/priority
POST/v1/fivem/calls/:callId/location
POST/v1/fivem/calls/:callId/close
POST/v1/fivem/calls/:callId/assign
POST/v1/fivem/calls/:callId/detach
GET/v1/fivem/flag-types
GET/v1/fivem/license-types
GET/v1/fivem/endorsement-types
POST/v1/fivem/people/:id/licenses/type/:code/status
POST/v1/fivem/people/:id/endorsements/type/:code/status
GET/v1/fivem/vehicles/:id
POST/v1/fivem/vehicles
PATCH/v1/fivem/vehicles/:id
GET/v1/fivem/firearms/:id
POST/v1/fivem/firearms
PATCH/v1/fivem/firearms/:id
GET/v1/fivem/warrants/:id
POST/v1/fivem/warrants
POST/v1/fivem/warrants/:id/status
GET/v1/fivem/bolos/:id
POST/v1/fivem/bolos
POST/v1/fivem/bolos/:id/status
GET/v1/fivem/records/active-warrants-bolos
GET/v1/fivem/records/warrants-bolos
GET/v1/fivem/people/:id/licenses
GET/v1/fivem/people/:id/flags
GET/v1/fivem/people/:id/warrants
POST/v1/fivem/people/:id/flags
POST/v1/fivem/person-flags/:id/deactivate
POST/v1/fivem/licenses/:id/status
GET/v1/fivem/parole/people/:id
POST/v1/fivem/parole/cases/:id/check-ins
POST/v1/fivem/parole/cases/:id/violations
GET/v1/fivem/search/person
GET/v1/fivem/search/vehicle/:plate
GET/v1/fivem/search/firearm/:serial
GET/v1/fivem/search/warrant/:number
GET/v1/fivem/search/bolo/:number
GET/v1/fivem/people/:id/eligibility
GET/v1/fivem/people/:id/identity
Identity, Licenses & FlagsIdentity snapshots, license and endorsement catalogs, person flags, felony policy, and record lifecycle.19 routes
MethodRoute
GET/v1/admin/identity-catalog
GET/v1/civilian/identity-catalog
GET/v1/records/identity-catalog
POST/v1/admin/license-types
PUT/v1/admin/license-types/:id
POST/v1/admin/endorsement-types
PUT/v1/admin/endorsement-types/:id
POST/v1/admin/person-flag-types
PUT/v1/admin/person-flag-types/:id
PUT/v1/admin/felony-policy
GET/v1/records/people/:id/identity
POST/v1/records/people/:id/flags
POST/v1/records/people/:personId/flags/:flagId/status
POST/v1/civilian/characters/:id/flags
DELETE/v1/civilian/characters/:personId/flags/:flagId
POST/v1/records/people/:id/licenses
POST/v1/records/people/:personId/licenses/:licenseId/status
POST/v1/records/people/:id/endorsements
POST/v1/records/people/:personId/endorsements/:endorsementId/status
Parole & SupervisionSettings, cases, conditions, check-ins, violations, approvals, and person supervision status.12 routes
MethodRoute
GET/v1/admin/parole/settings
PUT/v1/admin/parole/settings
GET/v1/parole/cases
GET/v1/parole/people/:personId
POST/v1/parole/cases
GET/v1/parole/cases/:id
PATCH/v1/parole/cases/:id
POST/v1/parole/cases/:id/conditions
PATCH/v1/parole/conditions/:id
POST/v1/parole/cases/:id/check-ins
POST/v1/parole/cases/:id/violations
PATCH/v1/parole/violations/:id
Records & EnforcementPeople, vehicles, firearms, warrants, BOLOs, citations, arrests, search, and felony status.16 routes
MethodRoute
GET/v1/records/search
POST/v1/records/people
GET/v1/records/people/:id
GET/v1/records/people/:id/felony-status
POST/v1/records/vehicles
POST/v1/records/firearms
GET/v1/records/vehicles/plate/:plate
GET/v1/records/vehicles/vin/:vin
GET/v1/records/firearms/serial/:serial
GET/v1/records/warrants/:number
GET/v1/records/bolos
POST/v1/records/bolos
GET/v1/records/citations
POST/v1/records/citations
GET/v1/records/arrests
POST/v1/records/arrests
Judicial, Reports, Fire/EMS & AIJudicial review/lifecycle, reports, Fire/EMS records, and AI recommendation/review workflows.17 routes
MethodRoute
POST/v1/warrants
GET/v1/warrants/review-queue
POST/v1/warrants/:id/decision
POST/v1/warrants/:id/lifecycle
GET/v1/judicial/docket
POST/v1/judicial/docket/:arrestId/decision
POST/v1/reports
GET/v1/reports
POST/v1/reports/:id/submit
POST/v1/reports/:id/review
POST/v1/fire/reports
GET/v1/fire/reports
POST/v1/ems/reports
GET/v1/ems/reports
GET/v1/ems/reports/:id
POST/v1/ai/calls/:id/recommend
POST/v1/ai/recommendations/:id/review
Service HealthHealth and readiness probes for deployment and orchestration.2 routes
MethodRoute
GET/healthz
GET/readyz

Need integration help?

Use the exact export name, endpoint, status code, and x-correlation-id when requesting support. For new integrations, prefer dedicated exports and minimum-scope credentials.

Discuss an integration