Skip to main content
A complete set of Luau type annotations for the whole api. Drop these at the top of your script if you want autocomplete and type-checking in an editor that understands Luau. These types are a superset across all games: they list every field any game can provide. The game you’re actually in only populates the universal namespaces plus that game’s specific ones (see Game support), so a field being in the type doesn’t guarantee it exists at runtime. Guard game-specific calls with if api.x.y then.

UI types

KeyMode

GradientAnimation

CurvePoint

ListItem

ColorSnapshot

OverrideHandle

See Overrides.

ElementHandle

ColorpickerHandle

Section

Tab

NotifySpec

NotifyHandle

ToastSpec

Passed to api.ui.toast.

ToastHandle

Returned by api.ui.toast.

Utility types

ApiSignal

Generic signal shape used by every on* event in the API.

FileArchive

Returned by api.utility.loadArchive.

Bind types

BindInfo

BindSignal

Legitbot types

TargetSnapshot

ShotEvent

TargetEvent

TriggerEvent

MagnetEvent

TargetFilterInfo

ShotGateInfo

AimTransformInfo

RegistrationHandle

ForceTargetHandle

Ragebot types

Bloxstrike, Rivals, and Apocalypse Rising 2. In Rivals and AR2 the damage field is always 0 (no damage model).

RagebotShotEvent

RagebotTargetEvent

RagebotTargetFilterInfo

RagebotShotGateInfo

RagebotStrafeInfo

Rivals. Passed to api.ragebot.setStrafeOverride.

Client types

LoadoutEntry

Bloxstrike. Used by api.client.getWeapon() / getInventory() and onWeaponChanged.

ArmorState

Bloxstrike. Returned by api.client.getArmor() and the player handle’s getArmor().

AmmoState

Bloxstrike. Returned by api.client.getAmmo().

EquippedItem

Rivals. Returned by api.client.getEquipped().

Item

Apocalypse Rising 2. Inventory entries from api.client.getItems(), getNearbyLoot(), and getEquipment(). Pass an item’s id to the action calls.

HitEvent

Emitted by api.client.onHit (also Phantom Forces and Overkill).

KillEvent

Emitted by api.client.onKill (every game except Apocalypse Rising 2).

Players types

PlayerHandle

Game types

BombState

Bloxstrike. Returned by api.game.getBomb() and the bomb signals.

PlantingState

Bloxstrike. Returned by api.game.getPlanting() and the plant signals.

HostageState

Bloxstrike. Returned by api.game.getHostages() / getHostage() and the hostage signals.

DroppedItem

Bloxstrike. Returned by api.game.getDroppedItems() / getDroppedItem(model) and the dropped item signals.

Purchase

Bloxstrike. Returned by api.game.getPurchases() / getLastPurchase() and the buy signals.

PlaceableEntry

Rivals. Returned by api.game.getPlaceables() / getPlaceable(id).

Grenade

Bloxstrike and Rivals. Returned by api.game.getGrenades() and the grenade signals. position is the predicted landing spot, detonateAt compares against os.clock().

PfDroppedWeapon

Phantom Forces. Returned by api.game.getDroppedWeapons().

PfGrenade

Phantom Forces. Returned by api.game.getGrenades().

OverkillProjectile

Overkill. Returned by api.game.getProjectiles() and the projectile signals.

Autoloot types

Apocalypse Rising 2. Used by api.feature.autoloot.

AutoLootItem

Passed to addItemFilter.

AutoLootAction

Passed to addActionFilter and onAction.

AutoLootHandle

Returned by addItemFilter, addActionFilter, blockItem, blockAction, and forceItem.

Music HUD types

Every game. Used by api.feature.musichud.

MusicTrack

MusicPlayback

MusicLyric

MusicSourceSpec

Passed to api.feature.musichud.setSource.

MusicSourceTrack

MusicSourcePlayback

Universal mode types

Universal mode only. Used by api.universal.

UniversalHandle

Returned by every api.universal.set* call. Call Release() to undo that one setting early; all of them are undone when your script unloads.

UniversalHitReport

Passed to api.universal.reportHit.

UniversalKillReport

Passed to api.universal.reportKill.

UniversalWeapon

Passed to api.universal.setWeapon and returned by setWeaponResolver. Per-weapon settings follow the Name.

UniversalBotHandle

Returned by api.universal.bots.add.

Api