Start with the AXIOS bridge, then call named server exports.
AXIOS supports the current QBCore, ESX and Standalone bridge adapters. Your custom resource should depend on axios-cad-bridge and keep authoritative AXIOS calls on the server.
1. Start order
server.cfg
ensure axios-cad-bridge
ensure my-custom-resourcefxmanifest.lua
fx_version 'cerulean'
game 'gta5'
dependency 'axios-cad-bridge'
server_script 'server.lua'2. Validate readiness
server.lua
local bridge = exports['axios-cad-bridge']
local state = bridge:GetBridgeState()
if not state or not state.ready then
print('[my-resource] AXIOS is not ready')
return
end
bridge:ValidateConnection(function(ok, data, statusCode, headers)
if not ok then
print(('AXIOS validation failed: HTTP %s'):format(tostring(statusCode)))
return
end
print(('AXIOS connected using Protocol v%s'):format(
tostring(state.protocolVersion)
))
end)3. Use the callback contract
HTTP-backed exports use function(ok, data, statusCode, headers). Treat ok == false as the branch where you inspect the returned error payload and status code.
Keep it server-side.Do not move tenant IDs, server keys or signing secrets into client Lua or NUI. Named server exports exist specifically so integration resources do not need to implement Protocol v4 themselves.
Framework behavior
QBCore
The bridge resolves identity and operational context through its QBCore adapter when selected or detected.
ESX
The ESX adapter provides the same normalized AXIOS integration surface to downstream resources.
Standalone
Standalone deployments use the configured identity resolver and the same signed server transport.
Complete catalog
This deployment exposes 183 server and 7 client registered contracts.
Open all 190 export contracts