openapi: 3.0.0 info: title: 'Star Citizen API' contact: email: foxftw@star-citizen.wiki version: 3.0.0 servers: - url: 'https://api.star-citizen.wiki' paths: /api/blueprints: get: tags: - In-Game - Blueprints summary: 'List Game Blueprints' description: 'Returns paginated crafting blueprints, including ingredients, crafted items, and dismantle returns. Results are scoped to the requested or default game version.' operationId: 3033beb74ac207ad11e7683f92d3909f parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: craft_time_seconds, ingredient_count, unlocking_missions_count.' schema: type: string example: '-craft_time_seconds' - name: 'filter[query]' in: query description: 'Search blueprints by crafted item name' schema: type: string example: Distiller - name: 'filter[output.uuid]' in: query description: 'Filter by crafted item UUID (see GET /api/items)' schema: type: string format: uuid - name: 'filter[output.name]' in: query description: 'Filter by crafted item name' schema: type: string example: 'P4-AR Magazine (40 cap)' - name: 'filter[output.class]' in: query description: 'Filter by crafted item class' schema: type: string example: ksar_smg_energy_01_gold01 - name: 'filter[output.type]' in: query description: 'Filter by crafted item type (see GET /api/blueprints/filters for valid values)' schema: type: string example: WeaponPersonal - name: 'filter[default]' in: query description: 'Filter by default availability (true/false)' schema: type: boolean example: true - name: 'filter[ingredient]' in: query description: 'Matches ingredient resource type by name, key, or UUID before filtering blueprints.' schema: type: string - name: 'filter[ingredient.uuid]' in: query description: 'Filter by ingredient commodity UUID. Accepts comma-separated values (see GET /api/commodities)' schema: type: string format: uuid example: a11394c9-ad7c-404d-9209-3a5e57bb4aa4 - name: 'filter[resource.uuid]' in: query description: 'Filter by resource commodity UUID, matching ingredients and dismantle returns. Accepts comma-separated values (see GET /api/commodities)' schema: type: string format: uuid example: 9b47bacf-8efa-42e2-8d84-dee64983a00a responses: '200': description: 'List of blueprints' content: application/json: schema: type: array items: $ref: '#/components/schemas/blueprint' '/api/blueprints/{blueprint}': get: tags: - In-Game - Blueprints summary: 'Get Game Blueprint Detail' description: 'Returns full detail for a single crafting blueprint, including ingredients, crafted item, dismantle returns, and associated missions. Scoped to the requested or default game version.' operationId: 977cfa4c847352551a7bcb7cdc7e5364 parameters: - name: blueprint in: path required: true schema: description: 'Blueprint UUID' type: string - $ref: '#/components/parameters/version' responses: '200': description: 'Blueprint detail' content: application/json: schema: $ref: '#/components/schemas/blueprint' '404': description: 'Blueprint not found for the requested game version' /api/blueprints/filters: get: tags: - In-Game - Blueprints summary: 'Get Blueprint Filter Options' description: 'Returns available filter facets for blueprints (crafted item types, ingredient and resource UUIDs), optionally scoped to the requested or default game version.' operationId: efd168ec954635ed15deb00feaec44d0 parameters: - $ref: '#/components/parameters/version' responses: '200': description: 'Filter facets for blueprints' content: application/json: schema: properties: filters: { properties: { output.type: { description: 'Crafted item types (e.g. WeaponPersonal, Char_Armor_Torso, WeaponAttachment)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, ingredient.uuid: { description: 'Ingredient commodity UUIDs with names and counts', type: array, items: { $ref: '#/components/schemas/filter_value' } }, resource.uuid: { description: 'Combined ingredient and dismantle return resource UUIDs with names and counts', type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/commodities: get: tags: - In-Game - Commodities summary: 'List Game Commodities' description: 'Returns paginated game commodities with location data and resource metadata, optionally filtered to only those consumed by blueprints. Results include refined version info and starmap location data scoped to the requested or default game version.' operationId: 82d83a0d96ed204c20bb7e37a6b3a359 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: key, name, rarity, density, instability, resistance, signature.' schema: type: string example: '-rarity' - name: 'filter[used]' in: query description: 'When true, only commodities used by blueprint ingredients in the requested or default game version are returned.' schema: type: boolean example: true - name: 'filter[system]' in: query description: 'Star system where the commodity can be found (see GET /api/commodities/filters for valid values)' schema: type: string example: Stanton - name: 'filter[type]' in: query description: 'Location type name (see GET /api/commodities/filters for valid values)' schema: type: string example: Planet - name: 'filter[rarity]' in: query description: 'Commodity tier/rarity level (see GET /api/commodities/filters for valid values)' schema: type: string example: Epic - name: 'filter[kind]' in: query description: 'Resource kind (see GET /api/commodities/filters for valid values)' schema: type: string example: mineable - name: 'filter[refined_version]' in: query description: 'Refined version name (see GET /api/commodities/filters for valid values)' schema: type: string example: Agricium - name: 'filter[location]' in: query description: 'Partial match on starmap location name' schema: type: string example: ArcCorp - name: 'filter[query]' in: query description: 'Search commodities by name or key' schema: type: string example: Agricium - name: 'filter[ship]' in: query description: 'When true, only show commodities mineable by ships' schema: type: boolean example: true - name: 'filter[ground_vehicle]' in: query description: 'When true, only show commodities mineable by ground vehicles' schema: type: boolean example: true - name: 'filter[fps]' in: query description: 'When true, only show commodities mineable on foot (FPS)' schema: type: boolean example: true - name: 'filter[harvestable]' in: query description: 'When true, only show commodities collectible from harvestable or plant deposits' schema: type: boolean example: true - name: 'filter[salvage]' in: query description: 'When true, only show commodities obtainable through salvage' schema: type: boolean example: true - name: 'filter[mineable]' in: query description: 'When true, only show mineable commodities; when false, only show non-mineable' schema: type: boolean example: true responses: '200': description: 'List of commodities' content: application/json: schema: type: array items: $ref: '#/components/schemas/commodity_link' '/api/commodities/{commodity}': get: tags: - In-Game - Commodities summary: 'Show Game Commodity' description: 'Returns full details for a single game commodity including detailed location entries with starmap data, resource composition, areas, clustering data, and raw/refined version info. Optionally include related blueprints and items.' operationId: 8f53b8d73d074148f64cf9fc0972d14a parameters: - name: commodity in: path required: true schema: description: 'Commodity UUID or slug' type: string example: dc6fbcbb-5990-4ed5-82ee-93152dab7845 - $ref: '#/components/parameters/version' - name: include in: query description: 'Comma-separated relationships to include. Available: blueprints (crafting blueprints that use this commodity), items (items that produce or require this commodity).' schema: type: string example: 'blueprints,items' responses: '200': description: 'Commodity details' content: application/json: schema: $ref: '#/components/schemas/commodity_show' /api/commodities/filters: get: tags: - In-Game - Commodities summary: 'Game Commodity Filters' description: 'Returns all available filter values for game commodities, scoped to the requested or default game version. Filter values can be combined; providing a system filter will narrow the location facet to that system only.' operationId: 25f5f4334a61558e17a9b075d08a0a90 parameters: - $ref: '#/components/parameters/version' - name: 'filter[used]' in: query description: 'When true, filter facets to only commodities used by blueprint ingredients' schema: type: boolean example: true - name: 'filter[system]' in: query description: 'Star system where the commodity can be found' schema: type: string example: Stanton - name: 'filter[type]' in: query description: 'Location type name' schema: type: string example: Planet - name: 'filter[rarity]' in: query description: 'Commodity tier/rarity level' schema: type: string example: Epic - name: 'filter[kind]' in: query description: 'Resource kind' schema: type: string example: mineable - name: 'filter[refined_version]' in: query description: 'Refined version name' schema: type: string example: Agricium - name: 'filter[location]' in: query description: 'Partial match on starmap location name' schema: type: string example: ArcCorp - name: 'filter[query]' in: query description: 'Search commodities by name or key' schema: type: string example: Agricium - name: 'filter[ship]' in: query description: 'When true, only show commodities mineable by ships' schema: type: boolean example: true - name: 'filter[ground_vehicle]' in: query description: 'When true, only show commodities mineable by ground vehicles' schema: type: boolean example: true - name: 'filter[fps]' in: query description: 'When true, only show commodities mineable on foot (FPS)' schema: type: boolean example: true - name: 'filter[harvestable]' in: query description: 'When true, only show commodities collectible from harvestable or plant deposits' schema: type: boolean example: true - name: 'filter[salvage]' in: query description: 'When true, only show commodities obtainable through salvage' schema: type: boolean example: true - name: 'filter[mineable]' in: query description: 'When true, only show mineable commodities; when false, only show non-mineable' schema: type: boolean example: true responses: '200': description: 'Available filters for game commodities.' content: application/json: schema: properties: filters: { properties: { system: { description: 'Star systems where commodities can be found', type: array, items: { $ref: '#/components/schemas/filter_value' } }, type: { description: 'Location type names', type: array, items: { $ref: '#/components/schemas/filter_value' } }, rarity: { description: 'Commodity tier/rarity levels', type: array, items: { $ref: '#/components/schemas/filter_value' } }, kind: { description: 'Resource kinds', type: array, items: { $ref: '#/components/schemas/filter_value' } }, refined_version: { description: 'Refined version names', type: array, items: { $ref: '#/components/schemas/filter_value' } }, location: { description: 'Starmap locations grouped by system', type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/factions: get: tags: - In-Game - Factions summary: 'List Factions' description: 'Returns paginated factions sorted by name by default. Factions hidden from the Delphi app are excluded.' operationId: 9d3af437209fd7d1099972b9b9560aa6 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[faction_type]' in: query description: 'Category of faction' schema: type: string example: Lawful - name: 'filter[has_reputation]' in: query description: 'When true, only factions with a reputation system are returned' schema: type: boolean example: true - name: 'filter[lawful]' in: query description: 'When true, only lawful factions are returned' schema: type: boolean example: true - name: 'filter[is_npc]' in: query description: 'When true, only NPC-controlled factions are returned' schema: type: boolean example: true - name: 'filter[hide_in_delphi_app]' in: query description: 'When true, only factions hidden from the Delphi app are returned' schema: type: boolean example: true - name: 'filter[query]' in: query description: 'Search factions by name or description' schema: type: string example: ArcCorp - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: name, faction_type.' schema: type: string example: '-name' responses: '200': description: 'List of factions' content: application/json: schema: type: array items: $ref: '#/components/schemas/faction_index' '/api/factions/{faction}': get: tags: - In-Game - Factions summary: 'Get Faction Detail' description: 'Returns full details for a single faction, including reputation ladder with standings when the faction has a reputation system. Factions hidden from the Delphi app are excluded.' operationId: 2ca088d4d7d160632359299fe6b2b521 parameters: - name: faction in: path required: true schema: description: 'Faction UUID.' type: string format: uuid example: 4e429470-4d4e-4c2b-a4ac-4de42ada16e0 responses: '200': description: 'Faction detail' content: application/json: schema: $ref: '#/components/schemas/faction' '404': description: 'Faction not found' /api/game-versions: get: tags: - In-Game - 'Game Version' summary: 'List Game Versions' description: 'Returns paginated game versions sorted by release date (newest first by default). Useful for discovering available game versions for version-scoped API queries.' operationId: d50197240879fbad3c30053885d65b9c parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[code]' in: query description: 'Filter by exact version code.' schema: type: string example: 4.7.0-LIVE.11518367 - name: 'filter[channel]' in: query description: 'Filter by release channel (live, ptu, eptu).' schema: type: string example: live - name: 'filter[is_default]' in: query description: 'Filter by default status (1 or 0).' schema: type: integer example: 1 - name: sort in: query description: 'Sort by field. Prefix with - for descending. Supported: code, channel, released_at.' schema: type: string example: '-released_at' responses: '200': description: 'List of Game Versions' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_version' /api/game-versions/default: get: tags: - In-Game - 'Game Version' summary: 'Get Default Game Version' description: 'Returns the current default game version. This is the version used by default in version-scoped API queries (see the version query parameter on other endpoints).' operationId: 4264185b623abd31430cebd231e316d8 responses: '200': description: 'The default game version' content: application/json: schema: $ref: '#/components/schemas/game_version' '404': description: 'No default version found' /api/weapons: get: tags: - In-Game - Items summary: 'In-Game Weapons Overview' description: 'Alias for /api/items scoped to FPS weapons (WeaponPersonal type). Returns weapon items with manufacturer, game version, and description data.' operationId: b63fd6f0f0bb79cb4d75252663635273 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'KnightBridge Arms' - name: 'filter[class_name]' in: query description: 'Partial match on item class name.' schema: type: string example: MGA_Assault - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Arrow - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Arrow - name: 'filter[size]' in: query description: 'Exact item size (0–12).' schema: type: number example: 3 - name: 'filter[grade]' in: query description: 'Exact item grade (1–7, mapped to A–G).' schema: type: number example: 3 responses: '200': description: 'List of Weapons' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/weapon-attachments: get: tags: - In-Game - Items summary: 'In-Game Weapon Attachments Overview' description: 'Alias for /api/items scoped to weapon attachments (WeaponAttachment type, excluding magazines and missiles). Returns attachment items with manufacturer, game version, and description data.' operationId: 4a1284677a3670f175acd4f42f89afcb parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'Clark Defense Systems' - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: 'Iron Sight' - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: 'Iron Sight' - name: 'filter[size]' in: query description: 'Exact item size (0–12).' schema: type: number example: 1 responses: '200': description: 'List of Weapon Attachments' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/clothes: get: tags: - In-Game - Items summary: 'In-Game Clothes Overview' description: 'Alias for /api/items scoped to clothing (FPS.Clothing.* classification). Returns clothing items with manufacturer, game version, and description data.' operationId: 192656e086c5b9a4365451e0c44bb0d8 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: "Stegman's" - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Jacket - name: 'filter[classification]' in: query description: 'Partial match on item classification (dot-notation, e.g. FPS.Clothing). (see GET /api/items/filters for valid values)' schema: type: string example: FPS.Clothing.Torso - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Jacket responses: '200': description: 'List of Clothes' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/armor: get: tags: - In-Game - Items summary: 'In-Game Armor Overview' description: 'Alias for /api/items scoped to armor (FPS.Armor.* classification). Returns armor items with manufacturer, game version, and description data.' operationId: d68f03ed8444e6fba985d2b5fb6b571f parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'Clark Defense Systems' - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Core - name: 'filter[classification]' in: query description: 'Partial match on item classification (dot-notation, e.g. FPS.Armor). (see GET /api/items/filters for valid values)' schema: type: string example: FPS.Armor.Torso - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Core responses: '200': description: 'List of Armor' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/food: get: tags: - In-Game - Items summary: 'In-Game Food Overview' description: 'Alias for /api/items scoped to food and drink (Food, Bottle, Drink types). Returns consumable items with manufacturer, game version, and description data.' operationId: dd61d33e4c2cb96abd0c6449a03b85b2 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: TDD - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Burger - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Burger responses: '200': description: 'List of Food Items' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/vehicle-weapons: get: tags: - In-Game - Items summary: 'In-Game Vehicle Weapons Overview' description: 'Alias for /api/items scoped to vehicle weapons (WeaponGun type). Returns ship weapon items with manufacturer, game version, and description data.' operationId: ab5fbfd6efd20dcc6529ec3423ee0b34 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'KnightBridge Arms' - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Cannon - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Cannon - name: 'filter[size]' in: query description: 'Exact item size (0–12).' schema: type: number example: 3 responses: '200': description: 'List of Vehicle Weapons' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/vehicle-items: get: tags: - In-Game - Items summary: 'In-Game Vehicle Items Overview' description: 'Alias for /api/items scoped to vehicle components (coolers, shields, power plants, quantum drives, thrusters, etc.). Returns component items with manufacturer, game version, and description data.' operationId: 1bbb2caddc7fe64208588a767e70174b parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'Aegis Dynamics' - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Shield - name: 'filter[type]' in: query description: 'Exact match on item type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Cooler - name: 'filter[sub_type]' in: query description: 'Exact match on item sub-type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Default - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Shield responses: '200': description: 'List of Vehicle Items' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' /api/items: get: tags: - In-Game - Items summary: 'In-Game Item Overview' description: 'Returns paginated in-game items for the requested category and game version. Always includes manufacturer, game version, and description data. Crafting blueprints are loaded automatically. Supports filtering by type, classification, manufacturer, size, grade, and more. Available includes: shops, variants, related_items, blueprints, vehicles, shops.items. Supports 150+ JSON field sorts. (see GET /api/items/filters for valid filter values)' operationId: caa5b59cdee8fe4be0e7aba773065367 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supports 250+ JSON fields. Examples: name, -grade, weapon.damage.alpha_total, -shield_controller.face_type. Use comma for multiple: grade,-name' schema: type: string example: '-weapon.damage.alpha_total' - name: 'filter[variants]' in: query description: 'When false, excludes variant items (base_id IS NOT NULL) and returns only base items. When true or omitted, returns all items including variants.' schema: type: boolean example: true - name: 'filter[category]' in: query description: 'Item category to scope results. Accepts: weapons, weapon-attachments, clothes, armor, food, medical, mining-modifiers, fps-items, vehicle-weapons, vehicle-items, vehicle-flair-items, vehicle-components.' schema: type: string example: weapons - name: 'filter[type]' in: query description: 'Exact match on item type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: WeaponPersonal - name: 'filter[sub_type]' in: query description: 'Exact match on item sub-type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Barrel - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'KnightBridge Arms' - name: 'filter[manufacturer.name]' in: query description: 'Same as filter[manufacturer]. Accepts comma-separated values for OR matching.' schema: type: string example: 'Anvil Aerospace' - name: 'filter[class_name]' in: query description: 'Partial match on item class name.' schema: type: string example: MGA_Assault - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Arrow - name: 'filter[query]' in: query description: 'Search items by name or class name.' schema: type: string example: Arrow - name: 'filter[classification]' in: query description: 'Partial match on item classification (dot-notation, e.g. FPS.Armor). (see GET /api/items/filters for valid values)' schema: type: string example: FPS.Armor.Torso - name: 'filter[size]' in: query description: 'Exact item size (0–12).' schema: type: number example: 3 - name: 'filter[grade]' in: query description: 'Exact item grade (1–7, mapped to A–G).' schema: type: number example: 3 - name: 'filter[class]' in: query description: 'Exact match on item class. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Military - name: 'filter[rarity]' in: query description: 'Item rarity. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Rare responses: '200': description: 'List of Items' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' '/api/weapons/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Weapon Detail' description: 'Retrieve a specific FPS weapon by name or UUID. Alias for /api/items/{identifier} scoped to weapons. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: ecb91fcd4ebcf2c6388c86afad2830e0 parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Arrow - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Weapon' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/weapon-attachments/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Weapon Attachment Detail' description: 'Retrieve a specific weapon attachment by name or UUID. Alias for /api/items/{identifier} scoped to weapon attachments. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: ff43a6f9de05c894d5e118a4b27538f9 parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: 'Iron Sight' - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Weapon Attachment' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/clothes/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Clothing Detail' description: 'Retrieve a specific clothing item by name or UUID. Alias for /api/items/{identifier} scoped to clothing. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: b76d2e2ab63022697b5ab8e75db172dd parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Jacket - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Clothing Item' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/armor/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Armor Detail' description: 'Retrieve a specific armor item by name or UUID. Alias for /api/items/{identifier} scoped to armor. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: 25dc767f00b2199b559dc5c0db8e36dc parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Core - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'An Armor Item' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/food/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Food Detail' description: 'Retrieve a specific food or drink item by name or UUID. Alias for /api/items/{identifier} scoped to food. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: f49f3308c4628c4032bbfa5377e76c97 parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Burger - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Food Item' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/vehicle-weapons/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Vehicle Weapon Detail' description: 'Retrieve a specific vehicle weapon by name or UUID. Alias for /api/items/{identifier} scoped to vehicle weapons. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: 5ad08d8da9119000f7a8b95d2ce69a52 parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Greatsword - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Vehicle Weapon' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/vehicle-items/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Vehicle Item Detail' description: 'Retrieve a specific vehicle component by name or UUID. Alias for /api/items/{identifier} scoped to vehicle items. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items.' operationId: 149203a08dc06efc7e0a5b57754edf68 parameters: - name: identifier in: path required: true schema: description: 'Item name or UUID' type: string example: Shield - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Vehicle Item' content: application/json: schema: $ref: '#/components/schemas/game_item' '/api/items/{identifier}': get: tags: - In-Game - Items summary: 'In-Game Item Detail' description: 'Retrieve a specific item by UUID, slug, name, or class name (case-insensitive). Always includes manufacturer, game version, description data, entity tags, commodities, and variant group data. Supports includes: shops, variants, related_items, blueprints, vehicles, shops.items. Vehicle-type items (NOITEM_Vehicle) automatically redirect to GET /api/vehicles/{uuid}.' operationId: cc74abcb9fb80ecbe534d6aea93df75c parameters: - $ref: '#/components/parameters/locale' - name: include in: query description: 'Comma-separated relationships to include. Available: blueprints (full crafting blueprint data including ingredients, missions, tiers), variants (item variants), related_items (related items from variant groups and sets), vehicles (vehicles this item is installed on), shops (shop availability data), shops.items (shop items).' schema: type: string example: blueprints - $ref: '#/components/parameters/version' - name: identifier in: path required: true schema: description: 'Item name, slug, class name, or UUID' type: string example: Arrow responses: '200': description: 'An Item' content: application/json: schema: $ref: '#/components/schemas/game_item' /api/items/search: post: tags: - In-Game - Items - Search summary: 'In-Game Item Search (Deprecated)' description: 'Deprecated. Use GET /api/items?filter[name]={value} for name search. Note: OR search across name/uuid/type is no longer supported. This endpoint will be removed in a future version.' operationId: 67e81b3a53d62afe9d3d713e391d6d05 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/sort' - name: 'filter[variants]' in: query description: 'When false, excludes variant items and returns only base items. When true or omitted, returns all items.' schema: type: boolean example: true - name: 'filter[category]' in: query description: 'Item category to scope results. Accepts: weapons, weapon-attachments, clothes, armor, food, medical, mining-modifiers, fps-items, vehicle-weapons, vehicle-items, vehicle-flair-items, vehicle-components.' schema: type: string example: weapons - name: 'filter[type]' in: query description: 'Exact match on item type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: WeaponPersonal - name: 'filter[sub_type]' in: query description: 'Exact match on item sub-type. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Barrel - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: 'KnightBridge Arms' - name: 'filter[manufacturer.name]' in: query description: 'Same as filter[manufacturer]. Accepts comma-separated values for OR matching.' schema: type: string example: 'Anvil Aerospace' - name: 'filter[class_name]' in: query description: 'Partial match on item class name.' schema: type: string example: MGA_Assault - name: 'filter[name]' in: query description: 'Partial match on item display name.' schema: type: string example: Arrow - name: 'filter[classification]' in: query description: 'Partial match on item classification (dot-notation, e.g. FPS.Armor). (see GET /api/items/filters for valid values)' schema: type: string example: FPS.Armor.Torso - name: 'filter[size]' in: query description: 'Exact item size (0–12).' schema: type: number example: 3 - name: 'filter[grade]' in: query description: 'Exact item grade (1–7, mapped to A–G).' schema: type: number example: 3 - name: 'filter[class]' in: query description: 'Exact match on item class. Accepts comma-separated values for OR matching. (see GET /api/items/filters for valid values)' schema: type: string example: Military requestBody: description: 'Item Name or (sub)type' required: true content: application/json: schema: type: object example: '{"query": "Arrow"}' responses: '200': description: 'A List of matching Items' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_item' deprecated: true /api/items/filters: get: tags: - In-Game - Items summary: 'In-Game Item Filters' description: 'Returns available filter facet values for in-game items, grouped by field with occurrence counts. Applying other filters narrows the facet results. Use these values as filter[*] parameters on GET /api/items. Scoped to the default item category unless filter[category] is specified.' operationId: 8cd032a0b4591c3e203c00e9e5779194 parameters: - $ref: '#/components/parameters/version' - name: 'filter[variants]' in: query description: 'When false, facets are computed excluding variant items. When true or omitted, all items are included.' schema: type: boolean example: true - name: 'filter[category]' in: query description: 'Item category to scope facets. Accepts: weapons, weapon-attachments, clothes, armor, food, medical, mining-modifiers, fps-items, vehicle-weapons, vehicle-items, vehicle-flair-items, vehicle-components.' schema: type: string example: weapons - name: 'filter[type]' in: query description: 'Narrow facets to items matching this type.' schema: type: string example: WeaponPersonal - name: 'filter[sub_type]' in: query description: 'Narrow facets to items matching this sub-type.' schema: type: string example: Barrel - name: 'filter[manufacturer]' in: query description: 'Narrow facets to items from this manufacturer.' schema: type: string example: 'KnightBridge Arms' - name: 'filter[manufacturer.name]' in: query description: 'Same as filter[manufacturer].' schema: type: string example: 'Anvil Aerospace' - name: 'filter[class_name]' in: query description: 'Narrow facets to items with matching class name.' schema: type: string example: MGA_Assault - name: 'filter[name]' in: query description: 'Narrow facets to items with matching name.' schema: type: string example: Arrow - name: 'filter[query]' in: query description: 'Narrow facets to items matching name or class name.' schema: type: string example: Arrow - name: 'filter[classification]' in: query description: 'Narrow facets to items with matching classification.' schema: type: string example: FPS.Armor.Torso - name: 'filter[size]' in: query description: 'Narrow facets to items with this size.' schema: type: number example: 3 - name: 'filter[grade]' in: query description: 'Narrow facets to items with this grade.' schema: type: number example: 3 - name: 'filter[class]' in: query description: 'Narrow facets to items with this class.' schema: type: string example: Military - name: 'filter[rarity]' in: query description: 'Narrow facets to items with this rarity.' schema: type: string example: Rare responses: '200': description: 'Available filter facets for in-game items, grouped by field with counts.' content: application/json: schema: properties: filters: { properties: { type: { description: 'Item types (e.g. WeaponPersonal, Cooler, Shield)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, sub_type: { description: 'Item sub-types (e.g. Barrel, Default, Optic)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, classification: { description: 'Item classifications (e.g. FPS.Armor.Torso, Ship.Cooler)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, size: { description: 'Item sizes (0–12)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, grade: { description: 'Item grades (1–7, mapped A–G)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, class: { description: 'Item classes (Civilian, Competition, Industrial, Military, Stealth)', type: array, items: { $ref: '#/components/schemas/filter_value' } }, manufacturer: { description: 'Manufacturer names', type: array, items: { $ref: '#/components/schemas/filter_value' } }, rarity: { description: 'Item rarity levels (Common, Uncommon, Rare, Epic, Legendary)', type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/manufacturers: get: tags: - In-Game - Manufacturers summary: 'In-Game Manufacturers Overview' description: 'Returns paginated manufacturers grouped by name with optional pagination.' operationId: 1f9d905a5e89dba1162f35428b92847c parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[name]' in: query description: 'Partial match on manufacturer name' schema: type: string responses: '200': description: 'List of Manufacturers' content: application/json: schema: type: array items: $ref: '#/components/schemas/manufacturer_link' '/api/manufacturers/{manufacturer}': get: tags: - In-Game - Manufacturers summary: 'In-Game Manufacturer Detail' description: 'Retrieve a manufacturer by name, UUID, or code together with its products.' operationId: cba9b0f51268f6c1d4309aa573d37a9c parameters: - name: manufacturer in: path required: true schema: description: 'Manufacturer name, uuid, or code' type: string responses: '200': description: 'A Manufacturer and its products' content: application/json: schema: $ref: '#/components/schemas/manufacturer' /api/manufacturers/search: post: tags: - In-Game - Manufacturers - Search summary: 'In-Game Manufacturer Search (Deprecated)' description: 'Deprecated. Use GET /api/manufacturers?filter[name]={value} for name search. This endpoint will be removed in a future version.' operationId: 26ff6a6dbd3785225cf297e83cc1b306 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' requestBody: description: 'Manufacturer name, uuid, or code' required: true content: application/json: schema: type: object example: '{"query": "Anvil"}' responses: '200': description: 'A List of matching Manufacturers' content: application/json: schema: type: array items: $ref: '#/components/schemas/manufacturer_link' deprecated: true /api/missions: get: tags: - In-Game - Missions summary: 'List Game Missions' description: 'Returns paginated missions for the requested or default game version. Results are grouped by title when no filters or sorts are active. Includes mission, game version, faction, and blueprint relationships.' operationId: 209d50edcdf13365e8eb791b4368dc87 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: title, mission_giver, rank_index, reward_min, reward_max, time_to_complete_minutes, max_players_per_instance, reputation_amount.' schema: type: string example: title - name: 'filter[mission_giver]' in: query description: 'Exact match on the mission giver NPC name. (see GET /api/missions/filters for valid values)' schema: type: string example: 'Citizens for Prosperity' - name: 'filter[faction]' in: query description: 'Filter by faction name. Accepts comma-separated values. (see GET /api/missions/filters for valid values)' schema: type: string example: ArcCorp - name: 'filter[star_system]' in: query description: 'Filter by star system name. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[illegal]' in: query description: 'Filter for missions marked as illegal' schema: type: boolean - name: 'filter[shareable]' in: query description: 'Filter for shareable missions' schema: type: boolean - name: 'filter[once_only]' in: query description: 'Filter for one-time-only missions' schema: type: boolean - name: 'filter[available_in_prison]' in: query description: 'Filter for missions available while in prison' schema: type: boolean - name: 'filter[has_combat]' in: query description: 'Filter for missions involving combat encounters' schema: type: boolean - name: 'filter[has_defend_objective]' in: query description: 'Filter for missions with a defend objective' schema: type: boolean - name: 'filter[rank_index]' in: query description: 'Filter by mission difficulty rank' schema: type: integer - name: 'filter[has_prerequisites]' in: query description: 'Filter for missions that have prerequisite requirements' schema: type: boolean - name: 'filter[min_enemies]' in: query description: 'Minimum enemy count threshold' schema: type: integer - name: 'filter[max_enemies]' in: query description: 'Maximum enemy count threshold' schema: type: integer - name: 'filter[reward_min]' in: query description: 'Minimum reward in aUEC' schema: type: integer - name: 'filter[reward_max]' in: query description: 'Maximum reward in aUEC' schema: type: integer - name: 'filter[title]' in: query description: 'Partial match on mission title' schema: type: string - name: 'filter[description]' in: query description: 'Partial match on mission description' schema: type: string - name: 'filter[query]' in: query description: 'Search across title, description, and debug name' schema: type: string - name: 'filter[reward_scope]' in: query description: 'Mission category scope. (see GET /api/missions/filters for valid values)' schema: type: string example: 'Bounty Hunter' - name: 'filter[has_blueprints]' in: query description: 'Filter for missions that reward blueprints' schema: type: boolean - name: 'filter[reputation_scope]' in: query description: 'Reputation reward scope from ReputationGained data. (see GET /api/missions/filters for valid values)' schema: type: string example: FactionReputation - name: 'filter[blueprint_name]' in: query description: 'Filter by crafted item name from mission blueprint rewards. (see GET /api/missions/filters for valid values)' schema: type: string example: 'S-38 Pistol' - name: 'filter[location]' in: query description: 'Filter by starmap location UUID' schema: type: string responses: '200': description: 'List of missions' content: application/json: schema: type: array items: $ref: '#/components/schemas/mission_index' '/api/missions/{mission}': get: tags: - In-Game - Missions summary: 'Get Mission Detail' description: 'Returns full details for a single mission, including chain relationships and associated items.' operationId: b0f6c4b9989a3e84f5042ec0648d15e4 parameters: - name: mission in: path required: true schema: description: 'Mission slug or UUID' type: string - $ref: '#/components/parameters/version' responses: '200': description: 'Mission detail' content: application/json: schema: $ref: '#/components/schemas/mission' '404': description: 'Mission not found' /api/missions/filters: get: tags: - In-Game - Missions summary: 'Get Mission Filter Options' description: 'Returns available filter facets for missions, scoped to the requested or default game version.' operationId: c1bb2317bbefee1d18ecf19d0999eac0 parameters: - $ref: '#/components/parameters/version' - name: 'filter[include_unreleased]' in: query description: 'Include unreleased and work-in-progress missions' schema: type: boolean - name: 'filter[mission_giver]' in: query description: 'Exact match on the mission giver NPC name. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[faction]' in: query description: 'Filter by faction name. Accepts comma-separated values. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[star_system]' in: query description: 'Filter by star system name. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[illegal]' in: query description: 'Filter for missions marked as illegal' schema: type: boolean - name: 'filter[shareable]' in: query description: 'Filter for shareable missions' schema: type: boolean - name: 'filter[once_only]' in: query description: 'Filter for one-time-only missions' schema: type: boolean - name: 'filter[available_in_prison]' in: query description: 'Filter for missions available while in prison' schema: type: boolean - name: 'filter[has_combat]' in: query description: 'Filter for missions involving combat encounters' schema: type: boolean - name: 'filter[has_defend_objective]' in: query description: 'Filter for missions with a defend objective' schema: type: boolean - name: 'filter[rank_index]' in: query description: 'Filter by mission difficulty rank' schema: type: integer - name: 'filter[has_prerequisites]' in: query description: 'Filter for missions that have prerequisite requirements' schema: type: boolean - name: 'filter[min_enemies]' in: query description: 'Minimum enemy count threshold' schema: type: integer - name: 'filter[max_enemies]' in: query description: 'Maximum enemy count threshold' schema: type: integer - name: 'filter[reward_min]' in: query description: 'Minimum reward in aUEC' schema: type: integer - name: 'filter[reward_max]' in: query description: 'Maximum reward in aUEC' schema: type: integer - name: 'filter[title]' in: query description: 'Partial match on mission title' schema: type: string - name: 'filter[description]' in: query description: 'Partial match on mission description' schema: type: string - name: 'filter[query]' in: query description: 'Search across title, description, and debug name' schema: type: string - name: 'filter[reward_scope]' in: query description: 'Mission category scope. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[has_blueprints]' in: query description: 'Filter for missions that reward blueprints' schema: type: boolean - name: 'filter[blueprint_name]' in: query description: 'Filter by crafted item name from mission blueprint rewards. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[reputation_scope]' in: query description: 'Reputation reward scope from ReputationGained data. (see GET /api/missions/filters for valid values)' schema: type: string - name: 'filter[location]' in: query description: 'Filter by starmap location UUID' schema: type: string responses: '200': description: 'Filter facets for missions' content: application/json: schema: properties: filters: { properties: { mission_giver: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, star_system: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, faction: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, has_combat: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, has_defend_objective: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, rank_index: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, illegal: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, shareable: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, has_prerequisites: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, reward_scope: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, has_blueprints: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, reputation_scope: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, blueprint_name: { type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/locations: get: tags: - In-Game - Starmap summary: 'Game Starmap Locations Overview' description: 'Returns paginated versioned starmap locations with optional filters. Each location includes amenities, hierarchy entity tags, parent and star relations, child count, mission count, and resource availability.' operationId: a226a3e5745777c39876fb640a9b3e53 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: name, type_name, size, child_count.' schema: type: string example: '-size,name' - name: 'filter[name]' in: query description: 'Partial match on location name.' schema: type: string example: Aberdeen - name: 'filter[query]' in: query description: 'Search locations by name.' schema: type: string example: ArcCorp - name: 'filter[type_name]' in: query description: 'Exact match on location type name (see GET /api/locations/filters for valid values).' schema: type: string example: Planet - name: 'filter[type_classification]' in: query description: 'Location type classification from JSON data (see GET /api/locations/filters for valid values).' schema: type: string example: Outpost - name: 'filter[respawn_location_type]' in: query description: 'Respawn location type classification (see GET /api/locations/filters for valid values).' schema: type: string example: Hospital - name: 'filter[jurisdiction_name]' in: query description: 'Governing jurisdiction name (see GET /api/locations/filters for valid values).' schema: type: string example: UEE - name: 'filter[affiliation_name]' in: query description: 'Faction or organization affiliation display name (see GET /api/locations/filters for valid values).' schema: type: string example: 'Private Security' - name: 'filter[is_scannable]' in: query description: 'When true, only show scannable locations; when false, only show non-scannable.' schema: type: boolean example: true - name: 'filter[block_travel]' in: query description: 'When true, only show locations where travel is blocked; when false, only show locations where travel is allowed.' schema: type: boolean example: false - name: 'filter[amenity]' in: query description: 'Filter by amenity name, display name, or UUID. Accepts comma-separated values (see GET /api/locations/filters for valid values).' schema: type: string example: 'Commodity Trading' - name: 'filter[tag]' in: query description: 'Filter by hierarchy entity tag name or UUID. Accepts comma-separated values.' schema: type: string example: HUR_L1 - name: 'filter[parent_name]' in: query description: 'Partial match on parent location name.' schema: type: string example: ArcCorp - name: 'filter[parent_uuid]' in: query description: 'Exact match on parent location UUID.' schema: type: string format: uuid example: f8f07f5b-1c0e-47c9-aa50-46963065bf18 - name: 'filter[system]' in: query description: 'Partial match on star system name (see GET /api/locations/filters for valid values).' schema: type: string example: 'Stanton System' - name: 'filter[has_resources]' in: query description: 'When true, only locations with harvestable resources; when false, only locations without.' schema: type: boolean example: true - name: 'filter[resource]' in: query description: 'Filter by harvestable commodity name or UUID. Accepts comma-separated values (see GET /api/commodities for valid values).' schema: type: string example: Agricium - name: 'filter[hide_minor_locations]' in: query description: 'When true, exclude minor locations that are only shown when their parent is selected.' schema: type: boolean example: true responses: '200': description: 'List of starmap locations' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_starmap_location' '/api/locations/{identifier}': get: tags: - In-Game - Starmap summary: 'Game Starmap Location Detail' description: 'Retrieve a versioned starmap location by slug or UUID. Use the `include` parameter to load additional relations: `children` (child locations with amenities and tags), `resources` (harvestable resource placements with commodity data), `missions` (available missions with faction data).' operationId: a94f2428b5133a755b80610db7fa0e90 parameters: - name: identifier in: path required: true schema: description: 'Starmap location slug or UUID' type: string example: aberdeen - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A starmap location' content: application/json: schema: $ref: '#/components/schemas/game_starmap_location' '404': description: 'No starmap location with specified identifier found.' /api/locations/filters: get: tags: - In-Game - Starmap summary: 'Game Starmap Location Filters' description: 'Return all available filter facet values for versioned starmap locations. Applies any provided filter parameters to scope the facet counts. Returns facets for: type_name, type_classification, respawn_location_type, jurisdiction_name, affiliation_name, system, parent_name, amenity, and resource.' operationId: d17a238ab990d199ac57dd8aeeb2b405 parameters: - $ref: '#/components/parameters/version' - name: 'filter[name]' in: query description: 'Partial match on location name.' schema: type: string example: Aberdeen - name: 'filter[query]' in: query description: 'Search locations by name.' schema: type: string example: ArcCorp - name: 'filter[type_name]' in: query description: 'Exact match on location type name (see response for valid values).' schema: type: string example: Planet - name: 'filter[type_classification]' in: query description: 'Location type classification from JSON data (see response for valid values).' schema: type: string example: Outpost - name: 'filter[respawn_location_type]' in: query description: 'Respawn location type classification (see response for valid values).' schema: type: string example: Hospital - name: 'filter[jurisdiction_name]' in: query description: 'Governing jurisdiction name (see response for valid values).' schema: type: string example: UEE - name: 'filter[affiliation_name]' in: query description: 'Faction or organization affiliation display name (see response for valid values).' schema: type: string example: 'Private Security' - name: 'filter[is_scannable]' in: query description: 'When true, only show scannable locations; when false, only show non-scannable.' schema: type: boolean example: true - name: 'filter[block_travel]' in: query description: 'When true, only show locations where travel is blocked; when false, only show locations where travel is allowed.' schema: type: boolean example: false - name: 'filter[amenity]' in: query description: 'Filter by amenity name, display name, or UUID. Accepts comma-separated values (see response for valid values).' schema: type: string example: 'Commodity Trading' - name: 'filter[tag]' in: query description: 'Filter by hierarchy entity tag name or UUID. Accepts comma-separated values.' schema: type: string example: HUR_L1 - name: 'filter[parent_name]' in: query description: 'Partial match on parent location name.' schema: type: string example: ArcCorp - name: 'filter[parent_uuid]' in: query description: 'Exact match on parent location UUID.' schema: type: string format: uuid example: f8f07f5b-1c0e-47c9-aa50-46963065bf18 - name: 'filter[system]' in: query description: 'Partial match on star system name (see response for valid values).' schema: type: string example: 'Stanton System' - name: 'filter[has_resources]' in: query description: 'When true, only locations with harvestable resources; when false, only locations without.' schema: type: boolean example: true - name: 'filter[resource]' in: query description: 'Filter by harvestable commodity name or UUID. Accepts comma-separated values (see GET /api/commodities for valid values).' schema: type: string example: Agricium - name: 'filter[hide_minor_locations]' in: query description: 'When true, exclude minor locations that are only shown when their parent is selected.' schema: type: boolean example: true responses: '200': description: 'Available filters for starmap locations.' content: application/json: schema: properties: filters: { properties: { type_name: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, type_classification: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, respawn_location_type: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, jurisdiction_name: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, affiliation_name: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, system: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, parent_name: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, amenity: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, resource: { type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/search: get: tags: - Search summary: 'Unified Search Across All Game Data' description: 'Search across items, vehicles, starmap locations, commodities, blueprints, and missions simultaneously. Returns results grouped by type, limited to 5 results per group.' operationId: 69cac0354375bc4ac499a9110b6914be parameters: - name: 'filter[query]' in: query description: 'Search query (minimum 2 characters). Searches names, class names, and other identifiers.' required: true schema: type: string minLength: 2 example: Arrow - $ref: '#/components/parameters/version' responses: '200': description: 'Grouped search results' content: application/json: schema: properties: data: { type: array, items: { properties: { type: { type: string, example: items }, label: { type: string, example: Items }, results: { type: array, items: { properties: { name: { type: string, example: Arrow }, class_name: { type: string, example: AEGS_Arrow, nullable: true }, classification: { type: string, example: fighter, nullable: true }, classification_label: { type: string, example: Fighter, nullable: true }, item_type_label: { type: string, example: Weapon, nullable: true }, extra_label: { type: string, example: Fighter, nullable: true }, web_url: { type: string, example: 'https://example.com/vehicles/arrow' }, api_url: { type: string, example: 'https://example.com/api/vehicles/arrow' } }, type: object } } }, type: object } } type: object '422': description: 'Validation error – filter[query] is required and must be at least 2 characters' /api/ground-vehicles: get: tags: - In-Game - Vehicles summary: 'In-Game Ground Vehicles Overview' description: 'Alias for /api/vehicles scoped to ground vehicles (is_vehicle=true, is_gravlev=false, is_spaceship=false). Returns paginated in-game ground vehicles for the requested game version. Default includes: vehicle, gameVersion, manufacturer, shipMatrixVehicle.loaner, shipMatrixVehicle.skus.' operationId: 43efc9b1912daf54d20013f6cb659db7 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Examples: name, -size, manufacturer.name, cargo_capacity, -speed.scm, shield.face_type. Use comma for multiple: size,-cargo_capacity' schema: type: string example: '-cargo_capacity' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Tumbril - name: 'filter[manufacturer.name]' in: query description: 'Alias for filter[manufacturer].' schema: type: string example: 'Anvil Aerospace' - name: 'filter[class_name]' in: query description: 'Partial match on vehicle class name.' schema: type: string example: NOBI - name: 'filter[name]' in: query description: 'Partial match on vehicle display name.' schema: type: string example: Nova - name: 'filter[query]' in: query description: 'Search vehicles by name or class name.' schema: type: string example: Nova - name: 'filter[size]' in: query description: 'Exact match on vehicle size (1-6).' schema: type: integer example: 3 - name: 'filter[size_class]' in: query description: 'Alias for filter[size].' schema: type: integer example: 3 - name: 'filter[career]' in: query description: 'Partial match on vehicle career. (see GET /api/vehicles/filters for valid values)' schema: type: string example: 'Ground Combat' - name: 'filter[role]' in: query description: 'Partial match on vehicle role. (see GET /api/vehicles/filters for valid values)' schema: type: string example: 'Starter / Light Freight' - name: 'filter[is_vehicle]' in: query description: 'Filter to ground vehicles only.' schema: type: boolean example: true - name: 'filter[is_gravlev]' in: query description: 'Filter to gravlev vehicles only.' schema: type: boolean example: true - name: 'filter[is_spaceship]' in: query description: 'Filter to spaceships only.' schema: type: boolean example: true - name: 'filter[mass_total]' in: query description: 'Numeric filter on total mass (kg). Supports range operators.' schema: type: number example: 50000 - name: 'filter[cargo_capacity]' in: query description: 'Numeric filter on cargo capacity (SCU). Supports range operators.' schema: type: number example: 46 - name: 'filter[vehicle_inventory]' in: query description: 'Numeric filter on vehicle inventory/stowage capacity. Supports range operators.' schema: type: number example: 432 - name: 'filter[crew.min]' in: query description: 'Numeric filter on minimum crew count. Supports range operators.' schema: type: integer example: 2 - name: 'filter[health]' in: query description: 'Numeric filter on vehicle health points. Supports range operators.' schema: type: number example: 50000 - name: 'filter[shield.hp]' in: query description: 'Numeric filter on total shield hit points. Supports range operators.' schema: type: number example: 1000000 - name: 'filter[shield.face_type]' in: query description: 'Shield face type. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Bubble - name: 'filter[speed.scm]' in: query description: 'Numeric filter on SCM speed. Supports range operators.' schema: type: number example: 200 - name: 'filter[speed.max]' in: query description: 'Numeric filter on maximum speed. Supports range operators.' schema: type: number example: 1200 - name: 'filter[armor.health]' in: query description: 'Numeric filter on armor health points. Supports range operators.' schema: type: number example: 500000 - name: 'filter[cross section.length]' in: query description: 'Numeric filter on cross-section length (X axis). Supports range operators.' schema: type: number example: 100 - name: 'filter[cross section.width]' in: query description: 'Numeric filter on cross-section width (Y axis). Supports range operators.' schema: type: number example: 50 - name: 'filter[cross section.height]' in: query description: 'Numeric filter on cross-section height (Z axis). Supports range operators.' schema: type: number example: 30 - name: 'filter[signature.ir_quantum]' in: query description: 'Numeric filter on infrared quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.ir_shields]' in: query description: 'Numeric filter on infrared shield signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_quantum]' in: query description: 'Numeric filter on electromagnetic quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_shields]' in: query description: 'Numeric filter on electromagnetic shield signature emission. Supports range operators.' schema: type: number example: 100 responses: '200': description: 'List of Ground Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' /api/gravlev-vehicles: get: tags: - In-Game - Vehicles summary: 'In-Game Gravlev Vehicles Overview' description: 'Alias for /api/vehicles scoped to gravlev vehicles (is_gravlev=true). Returns paginated in-game gravlev vehicles for the requested game version. Default includes: vehicle, gameVersion, manufacturer, shipMatrixVehicle.loaner, shipMatrixVehicle.skus.' operationId: 1fd939bdf8b746e0fe4e12bd71769c0b parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Examples: name, -size, manufacturer.name, cargo_capacity, -speed.scm, shield.face_type. Use comma for multiple: size,-cargo_capacity' schema: type: string example: '-cargo_capacity' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Drake - name: 'filter[manufacturer.name]' in: query description: 'Alias for filter[manufacturer].' schema: type: string example: 'Argo Astronautics' - name: 'filter[class_name]' in: query description: 'Partial match on vehicle class name.' schema: type: string example: Dragonfly - name: 'filter[name]' in: query description: 'Partial match on vehicle display name.' schema: type: string example: Dragonfly - name: 'filter[query]' in: query description: 'Search vehicles by name or class name.' schema: type: string example: Dragonfly - name: 'filter[size]' in: query description: 'Exact match on vehicle size (1-6).' schema: type: integer example: 1 - name: 'filter[size_class]' in: query description: 'Alias for filter[size].' schema: type: integer example: 1 - name: 'filter[career]' in: query description: 'Partial match on vehicle career. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Exploration - name: 'filter[role]' in: query description: 'Partial match on vehicle role. (see GET /api/vehicles/filters for valid values)' schema: type: string example: 'Starter / Light Freight' - name: 'filter[is_vehicle]' in: query description: 'Filter to ground vehicles only.' schema: type: boolean example: true - name: 'filter[is_gravlev]' in: query description: 'Filter to gravlev vehicles only.' schema: type: boolean example: true - name: 'filter[is_spaceship]' in: query description: 'Filter to spaceships only.' schema: type: boolean example: true - name: 'filter[mass_total]' in: query description: 'Numeric filter on total mass (kg). Supports range operators.' schema: type: number example: 50000 - name: 'filter[cargo_capacity]' in: query description: 'Numeric filter on cargo capacity (SCU). Supports range operators.' schema: type: number example: 46 - name: 'filter[vehicle_inventory]' in: query description: 'Numeric filter on vehicle inventory/stowage capacity. Supports range operators.' schema: type: number example: 432 - name: 'filter[crew.min]' in: query description: 'Numeric filter on minimum crew count. Supports range operators.' schema: type: integer example: 2 - name: 'filter[health]' in: query description: 'Numeric filter on vehicle health points. Supports range operators.' schema: type: number example: 50000 - name: 'filter[shield.hp]' in: query description: 'Numeric filter on total shield hit points. Supports range operators.' schema: type: number example: 1000000 - name: 'filter[shield.face_type]' in: query description: 'Shield face type. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Bubble - name: 'filter[speed.scm]' in: query description: 'Numeric filter on SCM speed. Supports range operators.' schema: type: number example: 200 - name: 'filter[speed.max]' in: query description: 'Numeric filter on maximum speed. Supports range operators.' schema: type: number example: 1200 - name: 'filter[armor.health]' in: query description: 'Numeric filter on armor health points. Supports range operators.' schema: type: number example: 500000 - name: 'filter[cross section.length]' in: query description: 'Numeric filter on cross-section length (X axis). Supports range operators.' schema: type: number example: 100 - name: 'filter[cross section.width]' in: query description: 'Numeric filter on cross-section width (Y axis). Supports range operators.' schema: type: number example: 50 - name: 'filter[cross section.height]' in: query description: 'Numeric filter on cross-section height (Z axis). Supports range operators.' schema: type: number example: 30 - name: 'filter[signature.ir_quantum]' in: query description: 'Numeric filter on infrared quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.ir_shields]' in: query description: 'Numeric filter on infrared shield signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_quantum]' in: query description: 'Numeric filter on electromagnetic quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_shields]' in: query description: 'Numeric filter on electromagnetic shield signature emission. Supports range operators.' schema: type: number example: 100 responses: '200': description: 'List of Gravlev Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' /api/vehicles: get: tags: - In-Game - Vehicles summary: 'In-Game Vehicles Overview' description: 'Returns paginated in-game vehicles for the requested game version. Default includes: vehicle, gameVersion, manufacturer, shipMatrixVehicle.loaner, shipMatrixVehicle.skus. Optional includes: shipMatrixVehicle, components, shipmatrixvehicle.components, hardpoints, ports.' operationId: 64acf0fa3be1afd1fa9ee22c03f755bc parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Examples: name, -size, manufacturer.name, cargo_capacity, -speed.scm, shield.face_type. Use comma for multiple: size,-cargo_capacity' schema: type: string example: '-cargo_capacity' - name: 'filter[manufacturer]' in: query description: 'Manufacturer name or code. Accepts comma-separated values for OR matching. (see GET /api/vehicles/filters for valid values)' schema: type: string example: 'Aegis Dynamics' - name: 'filter[manufacturer.name]' in: query description: 'Alias for filter[manufacturer].' schema: type: string example: 'Anvil Aerospace' - name: 'filter[class_name]' in: query description: 'Partial match on vehicle class name.' schema: type: string example: NOBI - name: 'filter[name]' in: query description: 'Partial match on vehicle display name.' schema: type: string example: Nova - name: 'filter[query]' in: query description: 'Search vehicles by name or class name.' schema: type: string example: Nova - name: 'filter[size]' in: query description: 'Exact match on vehicle size (1-6).' schema: type: integer example: 3 - name: 'filter[size_class]' in: query description: 'Alias for filter[size].' schema: type: integer example: 3 - name: 'filter[career]' in: query description: 'Partial match on vehicle career. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Exploration - name: 'filter[role]' in: query description: 'Partial match on vehicle role. (see GET /api/vehicles/filters for valid values)' schema: type: string example: 'Starter / Light Freight' - name: 'filter[is_vehicle]' in: query description: 'Filter to ground vehicles only.' schema: type: boolean example: true - name: 'filter[is_gravlev]' in: query description: 'Filter to gravlev vehicles only.' schema: type: boolean example: true - name: 'filter[is_spaceship]' in: query description: 'Filter to spaceships only.' schema: type: boolean example: true - name: 'filter[mass_total]' in: query description: 'Numeric filter on total mass (kg). Supports range operators.' schema: type: number example: 50000 - name: 'filter[cargo_capacity]' in: query description: 'Numeric filter on cargo capacity (SCU). Supports range operators.' schema: type: number example: 46 - name: 'filter[vehicle_inventory]' in: query description: 'Numeric filter on vehicle inventory/stowage capacity. Supports range operators.' schema: type: number example: 432 - name: 'filter[crew.min]' in: query description: 'Numeric filter on minimum crew count. Supports range operators.' schema: type: integer example: 2 - name: 'filter[health]' in: query description: 'Numeric filter on vehicle health points. Supports range operators.' schema: type: number example: 50000 - name: 'filter[shield.hp]' in: query description: 'Numeric filter on total shield hit points. Supports range operators.' schema: type: number example: 1000000 - name: 'filter[shield.face_type]' in: query description: 'Shield face type. (see GET /api/vehicles/filters for valid values)' schema: type: string example: Bubble - name: 'filter[speed.scm]' in: query description: 'Numeric filter on SCM speed. Supports range operators.' schema: type: number example: 200 - name: 'filter[speed.max]' in: query description: 'Numeric filter on maximum speed. Supports range operators.' schema: type: number example: 1200 - name: 'filter[armor.health]' in: query description: 'Numeric filter on armor health points. Supports range operators.' schema: type: number example: 500000 - name: 'filter[cross section.length]' in: query description: 'Numeric filter on cross-section length (X axis). Supports range operators.' schema: type: number example: 100 - name: 'filter[cross section.width]' in: query description: 'Numeric filter on cross-section width (Y axis). Supports range operators.' schema: type: number example: 50 - name: 'filter[cross section.height]' in: query description: 'Numeric filter on cross-section height (Z axis). Supports range operators.' schema: type: number example: 30 - name: 'filter[signature.ir_quantum]' in: query description: 'Numeric filter on infrared quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.ir_shields]' in: query description: 'Numeric filter on infrared shield signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_quantum]' in: query description: 'Numeric filter on electromagnetic quantum signature emission. Supports range operators.' schema: type: number example: 100 - name: 'filter[signature.em_shields]' in: query description: 'Numeric filter on electromagnetic shield signature emission. Supports range operators.' schema: type: number example: 100 responses: '200': description: 'List of Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' '/api/ground-vehicles/{identifier}': get: tags: - In-Game - Vehicles summary: 'In-Game Ground Vehicle Detail' description: 'Alias for /api/vehicles/{identifier} scoped to ground vehicles.' operationId: c1f17e6bfdd387ec4c2b5b99ca71d2a3 parameters: - name: identifier in: path required: true schema: description: 'Vehicle name, class_name, or UUID' type: string - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Ground Vehicle' content: application/json: schema: oneOf: - { $ref: '#/components/schemas/game_vehicle' } - { $ref: '#/components/schemas/ship_matrix_vehicle' } '/api/gravlev-vehicles/{identifier}': get: tags: - In-Game - Vehicles summary: 'In-Game Gravlev Vehicle Detail' description: 'Alias for /api/vehicles/{identifier} scoped to gravlev vehicles.' operationId: 5763019edbc66a8d5f089a4a167bbf14 parameters: - name: identifier in: path required: true schema: description: 'Vehicle name, class_name, or UUID' type: string - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Gravlev Vehicle' content: application/json: schema: oneOf: - { $ref: '#/components/schemas/game_vehicle' } - { $ref: '#/components/schemas/ship_matrix_vehicle' } '/api/vehicles/{identifier}': get: tags: - In-Game - Vehicles summary: 'In-Game Vehicle Detail' description: 'Retrieve a vehicle by name, class name, or UUID. Loads manufacturer, gameVersion, shipMatrixVehicle (with foci, productionStatus, productionNote, type, size, loaner, skus, manufacturer, components), and port loadout items.' operationId: 7bbede0623fe40dc123a58b51718a2c8 parameters: - name: identifier in: path required: true schema: description: 'Vehicle name, class_name, or UUID' type: string - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/version' responses: '200': description: 'A Vehicle' content: application/json: schema: oneOf: - { $ref: '#/components/schemas/game_vehicle' } - { $ref: '#/components/schemas/ship_matrix_vehicle' } /api/ground-vehicles/search: post: tags: - In-Game - Vehicles - Search summary: 'In-Game Ground Vehicle Search (Deprecated)' description: 'Deprecated. Use GET /api/ground-vehicles?filter[name]={value} instead. Scoped to ground vehicles.' operationId: 41e61288fbc249698811a9ef34e6c6e1 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' requestBody: description: 'Vehicle name, class_name, or UUID' required: true content: application/json: schema: type: object example: '{"query": "Nova"}' responses: '200': description: 'List of matching Ground Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' deprecated: true /api/gravlev-vehicles/search: post: tags: - In-Game - Vehicles - Search summary: 'In-Game Gravlev Vehicle Search (Deprecated)' description: 'Deprecated. Use GET /api/gravlev-vehicles?filter[name]={value} instead. Scoped to gravlev vehicles.' operationId: f6a2002fa7dc2eca601762b8d8ef11f9 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' requestBody: description: 'Vehicle name, class_name, or UUID' required: true content: application/json: schema: type: object example: '{"query": "Dragonfly"}' responses: '200': description: 'List of matching Gravlev Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' deprecated: true /api/vehicles/search: post: tags: - In-Game - Vehicles - Search summary: 'In-Game Vehicle Search (Deprecated)' description: 'Deprecated. Use GET /api/vehicles?filter[name]={value} for name search. This endpoint will be removed in a future version.' operationId: e50aec74b72796ff0e51ce4bf5bf3a9e parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/sort' - name: 'filter[manufacturer]' in: query schema: type: string - name: 'filter[manufacturer.name]' in: query schema: type: string - name: 'filter[class_name]' in: query schema: type: string - name: 'filter[name]' in: query schema: type: string - name: 'filter[query]' in: query description: 'Search vehicles by name or class name.' schema: type: string - name: 'filter[size]' in: query schema: type: integer - name: 'filter[size_class]' in: query schema: type: integer - name: 'filter[career]' in: query schema: type: string - name: 'filter[role]' in: query schema: type: string - name: 'filter[is_vehicle]' in: query schema: type: boolean - name: 'filter[is_gravlev]' in: query schema: type: boolean - name: 'filter[is_spaceship]' in: query schema: type: boolean - name: 'filter[mass_total]' in: query schema: type: number - name: 'filter[cargo_capacity]' in: query schema: type: number - name: 'filter[vehicle_inventory]' in: query schema: type: number - name: 'filter[crew.min]' in: query schema: type: integer - name: 'filter[health]' in: query schema: type: number - name: 'filter[shield.hp]' in: query schema: type: number - name: 'filter[shield.face_type]' in: query schema: type: string - name: 'filter[speed.scm]' in: query schema: type: number - name: 'filter[speed.max]' in: query schema: type: number - name: 'filter[armor.health]' in: query schema: type: number - name: 'filter[cross_section.length]' in: query schema: type: number - name: 'filter[cross_section.width]' in: query schema: type: number - name: 'filter[cross_section.height]' in: query schema: type: number - name: 'filter[signature.ir_quantum]' in: query schema: type: number - name: 'filter[signature.ir_shields]' in: query schema: type: number - name: 'filter[signature.em_quantum]' in: query schema: type: number - name: 'filter[signature.em_shields]' in: query schema: type: number requestBody: description: 'Vehicle name, class_name, career, or UUID' required: true content: application/json: schema: type: object example: '{"query": "Avenger"}' responses: '200': description: 'A List of matching Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/game_vehicle' deprecated: true /api/vehicles/filters: get: tags: - In-Game - Vehicles summary: 'In-Game Vehicle Filters' description: 'Return all available filter values for in-game vehicles.' operationId: 57e041d605c3ed0ffabeccf150c51a5e parameters: - $ref: '#/components/parameters/version' responses: '200': description: 'Available filters for in-game vehicles.' content: application/json: schema: properties: filters: { properties: { manufacturer: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, is_vehicle: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, is_gravlev: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, is_spaceship: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, size: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, role: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, career: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, shield.face_type: { type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object '/api/game-versions/{version}/changelog': get: tags: - In-Game - 'Game Version' summary: 'Get Version Changelog' description: 'Returns the changelog summary between the specified version and its predecessor.' operationId: 714b128595cfa5df27438df4514a6273 parameters: - name: version in: path description: 'Version code' schema: type: string example: 4.7.0-LIVE.11518367 responses: '200': description: 'Version changelog summary' content: application/json: schema: $ref: '#/components/schemas/version_changelog' '404': description: 'Version not found or no previous version' '/api/game-versions/{version}/changelog/changes': get: tags: - In-Game - 'Game Version' summary: 'Get Version Changelog Changes' description: 'Returns paginated diff entries for a version changelog. Filter by entity_type and change_type.' operationId: 3d5e74217808c4b3c3cc65bfb717fda7 parameters: - name: version in: path description: 'Version code' schema: type: string example: 4.7.0-LIVE.11518367 - name: 'filter[entity_type]' in: query description: 'Filter by entity type (item, vehicle)' schema: type: string example: item - name: 'filter[change_type]' in: query description: 'Filter by change type (added, removed, modified)' schema: type: string example: modified - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' responses: '200': description: 'Paginated list of changes' content: application/json: schema: type: array items: $ref: '#/components/schemas/version_diff_entry' '404': description: 'Version not found or no previous version' /api/comm-links: get: tags: - Comm-Links - RSI-Website summary: 'Comm-Links Overview' description: 'Returns paginated comm-links ordered by descending ID by default. Supports filtering by channel, category, series, title, content, and publication date. Results can be sorted by id, title, images_count, links_count, channel, category, series, and created_at. Use the include parameter to embed images or links.' operationId: 2204c384d22cb7168f6dd5830328c4dd parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/comm_link_includes' - name: 'filter[id]' in: query description: 'Exact match on the Comm-Link CIG ID' schema: type: integer example: 12663 - name: 'filter[title]' in: query description: 'Partial match on the Comm-Link title' schema: type: string example: 'This Week in Star Citizen' - name: 'filter[content]' in: query description: 'Full-text search within English Comm-Link translations' schema: type: string example: 'star citizen' - name: 'filter[channel]' in: query description: 'Exact match on channel name (see GET /api/comm-links/filters for valid values)' schema: type: string example: Engineering - name: 'filter[series]' in: query description: 'Exact match on series name (see GET /api/comm-links/filters for valid values)' schema: type: string example: 'Around the Verse' - name: 'filter[category]' in: query description: 'Exact match on category name (see GET /api/comm-links/filters for valid values)' schema: type: string example: General - name: 'filter[created_at]' in: query description: 'Filter by publication year (YYYY) or exact date (YYYY-MM-DD)' schema: type: string example: '2025' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: id, title, images_count, links_count, channel, category, series, created_at.' schema: type: string example: '-id' responses: '200': description: 'List of Comm-Links' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link' /api/comm-links/filters: get: tags: - Comm-Links - RSI-Website summary: 'Comm-Link Filters' description: 'Returns available category, channel, and series filter values for Comm-Links, with occurrence counts. Providing additional filter parameters will narrow the facets accordingly.' operationId: 022b883a0bc1e7ae8691f000cb019a02 parameters: - name: 'filter[id]' in: query description: 'Exact match on the Comm-Link CIG ID' schema: type: integer example: 12663 - name: 'filter[title]' in: query description: 'Partial match on the Comm-Link title' schema: type: string example: 'This Week in Star Citizen' - name: 'filter[content]' in: query description: 'Full-text search within English Comm-Link translations' schema: type: string example: 'star citizen' - name: 'filter[channel]' in: query description: 'Exact match on channel name' schema: type: string example: Engineering - name: 'filter[series]' in: query description: 'Exact match on series name' schema: type: string example: 'Around the Verse' - name: 'filter[category]' in: query description: 'Exact match on category name' schema: type: string example: General - name: 'filter[created_at]' in: query description: 'Filter by publication year (YYYY) or exact date (YYYY-MM-DD)' schema: type: string example: '2025' responses: '200': description: 'Available filters for Comm-Links.' content: application/json: schema: properties: filters: { properties: { category: { description: 'Category names such as General, Community, Lore, Development', type: array, items: { $ref: '#/components/schemas/filter_value' } }, channel: { description: 'Channel names such as Engineering, Transmission, Featured post', type: array, items: { $ref: '#/components/schemas/filter_value' } }, series: { description: 'Series names such as Around the Verse, 10 For the Chairman', type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object '/api/comm-links/{id}': get: tags: - Comm-Links - RSI-Website summary: 'Comm-Link Detail' description: 'Retrieve a single Comm-Link by its CIG ID. Images with hash and metadata are always included. The response contains prev_id and next_id metadata for sequential navigation between Comm-Links.' operationId: 0f21f5e85cfa4d0fe0076f0d4a0d0ffd parameters: - $ref: '#/components/parameters/comm_link_includes' - name: id in: path required: true schema: description: 'Comm-Link CIG ID, starting from 12663' type: integer format: int64 minimum: 12663 example: 12663 responses: '200': description: 'A singular Comm-Link' content: application/json: schema: $ref: '#/components/schemas/comm_link' '404': description: 'No Comm-Link with specified ID found.' /api/comm-links/search: post: tags: - Comm-Links - RSI-Website summary: 'Comm-Link Search (Deprecated)' description: 'Deprecated. Use GET /api/comm-links?filter[title]={value} for title search. This endpoint will be removed in a future version.' operationId: 2efd50e02ba871c509078dcf08701557 parameters: - $ref: '#/components/parameters/locale' - $ref: '#/components/parameters/comm_link_includes' - name: 'filter[channel]' in: query description: 'Exact match on channel name (see GET /api/comm-links/filters for valid values)' schema: type: string example: Engineering - name: 'filter[series]' in: query description: 'Exact match on series name (see GET /api/comm-links/filters for valid values)' schema: type: string example: 'Around the Verse' - name: 'filter[category]' in: query description: 'Exact match on category name (see GET /api/comm-links/filters for valid values)' schema: type: string example: General requestBody: description: 'At least one of keyword or query is required.' required: true content: application/json: schema: properties: keyword: description: 'Search term for partial title match (min 3 characters)' type: string maxLength: 255 minLength: 3 example: 'Banu Merchantman' query: description: 'Search term for partial title match or numeric CIG ID (min 1 character)' type: string maxLength: 255 minLength: 1 example: 'This Week in Star Citizen' type: object example: '{"query": "Banu Merchantman"}' responses: '200': description: 'A singular Comm-Link' content: application/json: schema: $ref: '#/components/schemas/comm_link' '422': description: 'Validation error. At least one of keyword or query is required.' deprecated: true /api/comm-links/reverse-image-link-search: post: tags: - Comm-Links - RSI-Website - Search summary: 'Comm-Link Reverse Image Link Search' description: 'Return comm-links that reference the same RSI-hosted image URL.' operationId: ae85fe68648858545fbb25b4733dcea8 requestBody: description: 'URL to an image hosted on (media.)robertsspaceindustries.com' required: true content: application/json: schema: required: - url properties: url: description: 'Full URL to an image hosted on robertsspaceindustries.com or media.robertsspaceindustries.com' type: string format: uri example: 'https://robertsspaceindustries.com/i/cc75a45005a236c6e015dfc2782a2f55ed1e84a2/ADdPNihJzmPbNuTnFsH1DqUeqBRpXdSXVVtgJTyDDgscGKrzJuoFjResiiucPBBDeyrBscqRyZz4qxNsSbWvqUwdG/alien-week-2022-front.webp' type: object example: '{"url": "https://robertsspaceindustries.com/i/cc75a45005a236c6e015dfc2782a2f55ed1e84a2/ADdPNihJzmPbNuTnFsH1DqUeqBRpXdSXVVtgJTyDDgscGKrzJuoFjResiiucPBBDeyrBscqRyZz4qxNsSbWvqUwdG/alien-week-2022-front.webp"}' responses: '200': description: 'List of Comm-Links that use that image' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link' '404': description: 'No Comm-Link found.' '422': description: 'Validation error. The url field is required and must be a valid URL on robertsspaceindustries.com.' /api/comm-links/reverse-image-search: post: tags: - Comm-Links - RSI-Website - Search summary: 'Comm-Link Reverse Image Search' description: 'Search comm-links by uploading an image and specifying a similarity threshold. Requires the GD PHP extension.' operationId: e3f44c5e367712652849d459ad7768f7 requestBody: required: true content: multipart/form-data: schema: required: - image properties: image: description: 'The image to reverse-search (max 5 MB)' type: string format: binary similarity: description: 'Similarity threshold percentage (1-100). Defaults to 75.' type: integer maximum: 100 minimum: 1 example: 80 type: object responses: '200': description: 'List of similar images with associated Comm-Links' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link_image' '404': description: 'No Comm-Link found.' '422': description: 'Validation error. The image field is required and must be a valid image file (max 5 MB).' '501': description: 'The required GD PHP extension is not loaded on the server.' '/api/comm-link-images/{image}/similar': get: tags: - Comm-Links - RSI-Website - Search summary: 'Comm-Link Reverse Image Similar Search' description: 'Find Comm-Link images similar to an existing RSI-hosted image.' operationId: fade67e6a8c4629ba8554b85925c1148 parameters: - name: image in: path description: 'Internal database ID of the image' required: true schema: type: integer example: 44216 - name: similarity in: query description: 'Similarity threshold percentage (1-100). Defaults to 50.' required: false schema: type: integer maximum: 100 minimum: 1 example: 80 responses: '200': description: 'List of similar Comm-Link images' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link_image' '404': description: 'Comm-Link image not found.' security: - sanctum: [] /api/comm-link-images: get: tags: - Comm-Links - RSI-Website - Images summary: 'Comm-Link Images' description: 'List available comm-link images with pagination. Each image includes its associated Comm-Links (with channel, category, series), tags, duplicates, and base image when available.' operationId: a705f668107b86178c6624b972dddefd parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[tags]' in: query description: 'Partial match on tag name. WARNING: Images have no tags currently.' schema: type: string example: concept responses: '200': description: 'List of Comm-Link Images' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link_image' '/api/comm-link-images/{image}': get: tags: - Comm-Links - RSI-Website - Images summary: 'Comm-Link Image Detail' description: 'Retrieve a single comm-link image with its associated Comm-Links (with channel, category, series), tags, duplicates, and base image when available.' operationId: e496670c7fe9e04eeb76fb30e6209ab7 parameters: - name: image in: path description: 'Internal database ID of the image' required: true schema: type: integer example: 44216 responses: '200': description: 'A singular Comm-Link Image' content: application/json: schema: $ref: '#/components/schemas/comm_link_image' '404': description: 'Comm-Link image not found.' /api/comm-link-images/random: get: tags: - Comm-Links - RSI-Website - Images summary: 'Comm-Link Images Random' description: 'Retrieve random comm-link images (minimum 250 KB), optionally filtered by tag name. Only images without a base image are included.' operationId: 0b0b5e244ccfb0fe78f81d536ba99257 parameters: - name: limit in: query description: 'Number of random images to return' schema: type: integer maximum: 100 example: 5 - name: 'filter[tags]' in: query description: 'Partial match on tag name' schema: type: string example: concept responses: '200': description: 'Retrieve a random Comm-Link Image. Limit parameter sets the number of random images' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link_image' /api/comm-link-images/search: post: tags: - Comm-Links - RSI-Website - Images - Search summary: 'Comm-Link Image Search by filename' description: 'Search comm-link images by filename with optional tag filtering. Only images without a base image and with non-zero file size are returned.' operationId: dbd72b035105c4dcf17ee654931fe2ff parameters: - name: 'filter[tags]' in: query description: 'Partial match on tag name' schema: type: string example: concept requestBody: required: true content: application/json: schema: required: - query properties: query: description: 'Search term matched against image filenames (partial match)' type: string maxLength: 255 minLength: 1 example: Starshipbridge type: object example: '{"query": "Starshipbridge"}' responses: '200': description: 'Search for a Comm-Link Image by its filename.' content: application/json: schema: type: array items: $ref: '#/components/schemas/comm_link_image' '422': description: 'Validation error. The query field is required and must be a string between 1 and 255 characters.' /api/galactapedia: get: tags: - Galactapedia - RSI-Website summary: 'Galactapedia Overview' description: 'Returns paginated Galactapedia articles ordered by descending ID by default. Each article includes its templates, categories, and tags. Supports filtering by category, tag, template, title, and creation date. Results can be sorted by title, categories_count, tags_count, and related_articles_count.' operationId: 48f80f5118a6ef2670845b9dd1b90357 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[category]' in: query description: 'Exact match on category name (see GET /api/galactapedia/filters for valid values)' schema: type: string example: Animals - name: 'filter[tag]' in: query description: 'Exact match on tag name (see GET /api/galactapedia/filters for valid values)' schema: type: string example: 100i - name: 'filter[template]' in: query description: 'Exact match on template name (see GET /api/galactapedia/filters for valid values)' schema: type: string example: Civilization - name: 'filter[title]' in: query description: 'Partial match on the article title' schema: type: string example: Messer - name: 'filter[created_at]' in: query description: 'Filter by creation year (YYYY), year-month (YYYY-MM), or exact date (YYYY-MM-DD)' schema: type: string example: '2025' - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: title, categories_count, tags_count, related_articles_count.' schema: type: string example: '-id' responses: '200': description: 'List of Galactapedia Articles' content: application/json: schema: type: array items: $ref: '#/components/schemas/galactapedia_article' /api/galactapedia/filters: get: tags: - Galactapedia - RSI-Website summary: 'Galactapedia Filters' description: 'Returns available category, tag, and template filter values for Galactapedia articles, with occurrence counts. Providing additional filter parameters will narrow the facets accordingly.' operationId: 8087c05b7d87a42900d3c920dcaf1c6e parameters: - name: 'filter[category]' in: query description: 'Exact match on category name' schema: type: string example: Animals - name: 'filter[tag]' in: query description: 'Exact match on tag name' schema: type: string example: 100i - name: 'filter[template]' in: query description: 'Exact match on template name' schema: type: string example: Civilization - name: 'filter[title]' in: query description: 'Partial match on the article title' schema: type: string example: Messer - name: 'filter[created_at]' in: query description: 'Filter by creation year (YYYY), year-month (YYYY-MM), or exact date (YYYY-MM-DD)' schema: type: string example: '2025' responses: '200': description: 'Available filters for Galactapedia.' content: application/json: schema: properties: filters: { properties: { category: { description: 'Category names such as Animals, Archaeology, Art, Banu, Civilizations', type: array, items: { $ref: '#/components/schemas/filter_value' } }, tag: { description: 'Tag names such as vehicle models, locations, and lore terms', type: array, items: { $ref: '#/components/schemas/filter_value' } }, template: { description: 'Template types such as Civilization, Company, Event', type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object '/api/galactapedia/{id}': get: tags: - Galactapedia - RSI-Website summary: 'Galactapedia Article' description: 'Retrieve a Galactapedia article by ID with available includes and translations.' operationId: 541ad0798eef38797ca9a341b81eedac parameters: - $ref: '#/components/parameters/locale' - name: id in: path required: true schema: description: 'Galactapedia Article CIG ID' type: string example: VyvYAGKxAz - name: include in: query explode: false allowReserved: true schema: description: 'Available Galactapedia includes' type: array items: type: string enum: - categories - properties - tags - related responses: '200': description: 'A singular Article' content: application/json: schema: $ref: '#/components/schemas/galactapedia_article' '404': description: 'No Article with specified ID found.' /api/galactapedia/search: post: tags: - Galactapedia - RSI-Website - Search summary: 'Galactapedia Article Search (Deprecated)' description: 'Deprecated. Use GET /api/galactapedia?filter[title]={value} for title search. This endpoint will be removed in a future version.' operationId: ed9b1b052b5dd9a03e0f7ee5a21cb8dd requestBody: description: 'Article (partial) title, template or slug' required: true content: application/json: schema: type: object example: '{"query": "Banu"}' responses: '200': description: 'List of articles matching the query' content: application/json: schema: type: array items: $ref: '#/components/schemas/galactapedia_article' deprecated: true /api/celestial-objects: get: tags: - Starmap - RSI-Website summary: 'Starmap Celestial Objects Overview' description: 'Returns paginated celestial objects with optional relationships.' operationId: cb1abb65b355a5cbf26f23c3b231a676 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[starsystem]' in: query schema: type: string - name: 'filter[name]' in: query description: 'Partial match on celestial object name' schema: type: string - name: 'filter[designation]' in: query schema: type: string - name: 'filter[type]' in: query schema: type: string - name: sort in: query schema: type: string - name: include in: query description: 'Include additional relationships (affiliation, starsystem, jumppoints).' explode: false allowReserved: true schema: type: string responses: '200': description: 'List of Celestial Objects' content: application/json: schema: type: array items: $ref: '#/components/schemas/celestial_object' '/api/celestial-objects/{code}': get: tags: - Starmap - RSI-Website summary: 'Celestial Object Detail' description: 'Retrieve a celestial object by code, optionally including relations.' operationId: a56221ed3240e9c31bd996fb9cf85248 parameters: - name: code in: path required: true schema: description: 'Celestial Object code (e.g., NYX.JUMPPOINTS.BREMEN)' type: string - name: include in: query description: 'Include additional relationships (affiliation, starsystem, jumppoints).' explode: false allowReserved: true schema: type: string responses: '200': description: 'A Celestial Object' content: application/json: schema: $ref: '#/components/schemas/celestial_object' '404': description: 'No Celestial Object with specified code found.' /api/celestial-objects/search: post: tags: - Starmap - RSI-Website - Search summary: 'Celestial Object Search (Deprecated)' description: 'Deprecated. Use GET /api/celestial-objects?filter[name]={value} for name search. This endpoint will be removed in a future version.' operationId: 34134c8a7a8bb87a6c6f905cbce9ed42 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' requestBody: description: 'Partial celestial object code or name to search for' required: true content: application/json: schema: properties: query: type: string type: object example: '{"query": "Pleiades"}' responses: '200': description: 'List of matching Celestial Objects' content: application/json: schema: type: array items: $ref: '#/components/schemas/celestial_object' deprecated: true /api/starsystems: get: tags: - Starmap - RSI-Website summary: 'Starmap Starsystems Overview' description: 'Returns paginated starsystems, optionally including related resources.' operationId: dfb10343a9a3f85578e98f63dbfa7bf2 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[affiliation]' in: query schema: type: string - name: 'filter[code]' in: query schema: type: string - name: 'filter[name]' in: query schema: type: string - name: 'filter[status]' in: query schema: type: string - name: 'filter[type]' in: query schema: type: string - name: 'filter[size]' in: query schema: type: number - name: sort in: query schema: type: string - name: include in: query description: 'Include additional relationships (affiliation, celestialObjects, jumppoints).' explode: false allowReserved: true schema: type: string responses: '200': description: 'List of Starsystems' content: application/json: schema: type: array items: $ref: '#/components/schemas/starsystem' '/api/starsystems/{code}': get: tags: - Starmap - RSI-Website summary: 'Starsystem Detail' description: 'Retrieve a starsystem by code or identifier, with optional includes.' operationId: 1b478c502ef1afe25fbdcc192a8b7fd6 parameters: - name: code in: path required: true schema: description: 'Starsystem code or identifier (e.g. SOL)' type: string - name: include in: query description: 'Include additional relationships (affiliation, celestialObjects, jumppoints).' explode: false allowReserved: true schema: type: string responses: '200': description: 'A Starsystem' content: application/json: schema: $ref: '#/components/schemas/starsystem' '404': description: 'No Starsystem with specified code found.' /api/starsystems/search: post: tags: - Starmap - RSI-Website - Search summary: 'Starsystem Search (Deprecated)' description: 'Deprecated. Use GET /api/starsystems?filter[name]={value} for name search. This endpoint will be removed in a future version.' operationId: ae8a21d883ee8e48ac7be01e3ed3084a parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' requestBody: description: 'Partial starsystem code or name to search for' required: true content: application/json: schema: properties: query: type: string type: object example: '{"query": "Sol"}' responses: '200': description: 'List of matching Starsystems' content: application/json: schema: type: array items: $ref: '#/components/schemas/starsystem' deprecated: true /api/starsystems/filters: get: tags: - Starmap - RSI-Website summary: 'Starsystem Filters' description: 'Return all available filter values for starsystems.' operationId: 7d3e54fa78ec8659a190388720bb5523 responses: '200': description: 'Available filters for starsystems.' content: application/json: schema: properties: filters: { properties: { affiliation: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, status: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, type: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, size: { type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object /api/stats/latest: get: tags: - Stats - RSI-Website summary: 'Latest Crowdfunding Statistics' description: 'Get the most recent Star Citizen crowdfunding statistics snapshot, including funds raised (USD), fan count, and fleet size.' operationId: bd891b16c3cee16ea79438380f9b4f8b responses: '200': description: 'Latest statistics' content: application/json: schema: $ref: '#/components/schemas/stat' /api/stats: get: tags: - Stats - RSI-Website summary: 'Paginated Historical Statistics' description: 'Get paginated historical Star Citizen crowdfunding statistics, ordered by most recent first. Supports page-based pagination.' operationId: 5e2fda37059d5c1883d2b7b511c2ac53 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' responses: '200': description: 'List of stats' content: application/json: schema: type: array items: $ref: '#/components/schemas/stat' /api/shipmatrix/vehicles: get: tags: - Ship-Matrix - Vehicles summary: 'Ship Matrix Vehicles Overview' description: 'Returns paginated Ship Matrix vehicles with optional filters. SKU variants and loaner vehicles are included by default.' operationId: 3222e355ea1183c3b381f5e039cdfe45 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[manufacturer]' in: query description: 'Exact match on manufacturer name (see GET /api/shipmatrix/vehicles/filters for valid values)' schema: type: string example: 'Anvil Aerospace' - name: 'filter[size]' in: query description: 'Exact match on size slug (see GET /api/shipmatrix/vehicles/filters for valid values)' schema: type: string example: medium - name: 'filter[type]' in: query description: 'Filter by vehicle type slug' schema: type: string - name: 'filter[focus]' in: query description: 'Filter by vehicle focus slug (comma-separated for multiple)' schema: type: string - name: 'filter[production_status]' in: query description: 'Filter by production status slug' schema: type: string - name: 'filter[name]' in: query description: 'Partial match on vehicle name' schema: type: string example: Avenger - name: sort in: query description: 'Sort field. Prefix with "-" for descending. Supported: id, chassis_id, name, msrp, updated_at, length, width, height, cargo_capacity, min_crew, max_crew, manufacturer, focus, type, size' schema: type: string example: '-name' responses: '200': description: 'List of Ship-Matrix Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/ship_matrix_vehicle' /api/shipmatrix/vehicles/filters: get: tags: - Ship-Matrix - Vehicles summary: 'Ship Matrix Vehicle Filters' description: 'Return all available filter values for Ship Matrix vehicles. Supports cross-filtering: pass filter parameters to get filtered facet counts.' operationId: 2906e4ea55463870d8502d869947066f responses: '200': description: 'Available filters for Ship Matrix vehicles.' content: application/json: schema: properties: filters: { properties: { manufacturer: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, size: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, type: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, focus: { type: array, items: { $ref: '#/components/schemas/filter_value' } }, production_status: { type: array, items: { $ref: '#/components/schemas/filter_value' } } }, type: object } type: object '/api/shipmatrix/vehicles/{slug}': get: tags: - Ship-Matrix - Vehicles summary: 'Ship Matrix Vehicle Detail' description: 'Retrieve a Ship Matrix vehicle by slug. Use the "include" query parameter to load additional relationships: components, loaner, skus.' operationId: e0523e99711c283e722b02838dcad21e parameters: - name: slug in: path required: true schema: description: 'Vehicle slug' type: string - name: include in: query description: 'Include additional relationships (components, loaner, skus)' schema: type: string responses: '200': description: 'A Ship-Matrix Vehicle' content: application/json: schema: $ref: '#/components/schemas/ship_matrix_vehicle' '404': description: 'Vehicle not found' /api/shipmatrix/vehicles/search: post: tags: - Ship-Matrix - Vehicles - Search summary: 'Ship Matrix Vehicle Search (Deprecated)' description: 'Deprecated. Use GET /api/shipmatrix/vehicles?filter[name]={value} for name search. This endpoint will be removed in a future version.' operationId: 1405185e569f89147a09bdd1b41b8519 parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: 'filter[manufacturer]' in: query description: 'Exact match on manufacturer name (see GET /api/shipmatrix/vehicles/filters for valid values)' schema: type: string example: 'Anvil Aerospace' - name: 'filter[size]' in: query description: 'Exact match on size slug (see GET /api/shipmatrix/vehicles/filters for valid values)' schema: type: string example: medium - name: 'filter[type]' in: query description: 'Filter by vehicle type slug' schema: type: string - name: 'filter[focus]' in: query description: 'Filter by vehicle focus slug (comma-separated for multiple)' schema: type: string - name: 'filter[production_status]' in: query description: 'Filter by production status slug' schema: type: string requestBody: description: 'Vehicle name to search for' required: true content: application/json: schema: type: object example: '{"query": "Avenger"}' responses: '200': description: 'A List of matching Ship-Matrix Vehicles' content: application/json: schema: type: array items: $ref: '#/components/schemas/ship_matrix_vehicle' deprecated: true components: schemas: filter_value: title: 'Filter Value' description: 'A value available for filtering along with a human label and result count.' properties: value: nullable: true oneOf: - type: string - type: integer - type: boolean label: type: string count: type: integer type: object blueprint_output: title: 'Blueprint Output' description: 'Crafted output metadata for a blueprint.' properties: uuid: description: 'UUID of the crafted item' type: string format: uuid nullable: true name: description: 'Display name of the crafted item' type: string nullable: true class: description: 'Internal class identifier of the crafted item' type: string nullable: true type: description: 'Type category of the crafted item (e.g. WeaponPersonal, Char_Armor_Torso)' type: string nullable: true type_label: description: 'Human-readable label for the type' type: string nullable: true sub_type: description: 'Sub-type classification of the crafted item' type: string nullable: true subtype: description: 'Deprecated: Use sub_type.' type: string nullable: true deprecated: true grade: description: 'Grade or quality tier of the crafted item' type: string nullable: true item_web_url: description: 'Web URL for the crafted item detail page' type: string format: uri nullable: true type: object blueprint_modifier_quality_range: title: 'Blueprint Modifier Quality Range' properties: min: description: 'Minimum quality value' type: number format: float nullable: true max: description: 'Maximum quality value' type: number format: float nullable: true type: object blueprint_modifier_range: title: 'Blueprint Modifier Range' properties: at_min_quality: description: 'Modifier value at minimum quality' type: number format: float nullable: true at_max_quality: description: 'Modifier value at maximum quality' type: number format: float nullable: true type: object blueprint_modifier: title: 'Blueprint Modifier' description: 'Modifier interpolation metadata used for blueprint quality effects.' properties: property_key: description: 'Internal key identifying the modifier property' type: string property_uuid: description: 'UUID of the property definition, if available' type: string format: uuid nullable: true label: description: 'Human-readable label for the modifier' type: string better_when: description: 'Indicates whether a higher or lower value is desirable' type: string enum: - higher - lower - neutral nullable: true quality_range: $ref: '#/components/schemas/blueprint_modifier_quality_range' modifier_range: $ref: '#/components/schemas/blueprint_modifier_range' type: object blueprint_summary_property: title: 'Blueprint Summary Property' description: 'Aggregated modifier property shown in blueprint output summaries.' properties: property_key: description: 'Internal key identifying the property' type: string property_uuid: description: 'UUID of the property definition, if available' type: string format: uuid nullable: true label: description: 'Human-readable label for the property' type: string better_when: description: 'Indicates whether a higher or lower value is desirable' type: string enum: - higher - lower - neutral nullable: true type: object blueprint_requirement_child: title: 'Blueprint Requirement Child' description: 'Normalized blueprint requirement child entry. Children can represent groups, resources, or discrete items.' properties: key: description: 'Internal key of the requirement child' type: string nullable: true kind: description: 'Type of requirement entry' type: string enum: - group - resource - item nullable: true uuid: description: 'UUID of the required resource type or item' type: string format: uuid nullable: true name: description: 'Display name of the required resource or item' type: string nullable: true required_count: description: 'Number of this child required within its group' type: integer nullable: true quantity: description: 'Discrete item count required' type: number format: float nullable: true quantity_scu: description: 'Quantity in Standard Cargo Units (for resources)' type: number format: float nullable: true min_quality: description: 'Minimum quality tier required' type: integer nullable: true modifiers: description: 'Quality-dependent modifier effects for this child' type: array items: $ref: '#/components/schemas/blueprint_modifier' children: description: 'Nested children when kind is group' type: array items: $ref: '#/components/schemas/blueprint_requirement_child' nullable: true type: object blueprint_requirement_group: title: 'Blueprint Requirement Group' description: 'Normalized requirement group derived from the first blueprint tier.' properties: key: description: 'Internal key of the requirement group' type: string nullable: true name: description: 'Display name of the requirement group' type: string nullable: true kind: description: 'Always "group"' type: string enum: - group required_count: description: 'Number of children that must be fulfilled within this group' type: integer nullable: true modifiers: description: 'Quality-dependent modifier effects applied at the group level' type: array items: $ref: '#/components/schemas/blueprint_modifier' children: description: 'Individual resources or items within this group' type: array items: $ref: '#/components/schemas/blueprint_requirement_child' type: object blueprint_requirement_node: title: 'Blueprint Requirement Node' description: 'Raw recursive requirement node returned under tiers[].requirements.' properties: kind: description: 'Node type in the requirement tree' type: string enum: - root - group - resource - item nullable: true key: description: 'Internal key of the requirement node' type: string nullable: true name: description: 'Display name of the requirement node' type: string nullable: true uuid: description: 'UUID of the required resource type or item' type: string format: uuid nullable: true required_count: description: 'Number of children that must be fulfilled' type: integer nullable: true quantity: description: 'Discrete item count required' type: number format: float nullable: true quantity_scu: description: 'Quantity in Standard Cargo Units (for resources)' type: number format: float nullable: true min_quality: description: 'Minimum quality tier required' type: integer nullable: true modifiers: description: 'Quality-dependent modifier effects' type: array items: $ref: '#/components/schemas/blueprint_modifier' nullable: true children: description: 'Nested child nodes in the requirement tree' type: array items: $ref: '#/components/schemas/blueprint_requirement_node' nullable: true type: object blueprint_tier: title: 'Blueprint Tier' description: 'Raw blueprint tier as imported from the source payload.' properties: tier_index: description: 'Zero-based index of this crafting tier' type: integer nullable: true craft_time_seconds: description: 'Crafting duration in seconds for this tier' type: integer nullable: true requirements: oneOf: - $ref: '#/components/schemas/blueprint_requirement_node' nullable: true description: 'Recursive requirement tree for this tier' type: object blueprint_ingredient: title: 'Blueprint Ingredient' description: 'Condensed ingredient summary used by blueprint list and detail responses.' properties: name: description: 'Display name of the ingredient' type: string nullable: true kind: description: 'Ingredient kind' type: string enum: - resource - item nullable: true resource_type_uuid: description: 'UUID of the ingredient resource type (see GET /api/commodities)' type: string format: uuid nullable: true item_uuid: description: 'UUID of the ingredient item (see GET /api/items)' type: string format: uuid nullable: true quantity_scu: description: 'Quantity in Standard Cargo Units (for resources)' type: number format: float nullable: true quantity: description: 'Discrete count (for items)' type: number format: float nullable: true link: description: 'API URL for the ingredient' type: string format: uri nullable: true web_url: description: 'Web URL for the ingredient detail page' type: string format: uri nullable: true type: object blueprint_dismantle_return_summary: title: 'Blueprint Dismantle Return Summary' description: 'Lightweight dismantle return entry used by blueprint list responses.' properties: name: description: 'Display name of the returned resource' type: string nullable: true resource_type_uuid: description: 'UUID of the returned resource type (see GET /api/commodities)' type: string format: uuid nullable: true quantity_scu: description: 'Quantity returned in Standard Cargo Units' type: number format: float nullable: true link: description: 'API URL for the returned resource' type: string format: uri nullable: true web_url: description: 'Web URL for the returned resource detail page' type: string format: uri nullable: true type: object blueprint_dismantle: title: 'Blueprint Dismantle' description: 'Dismantle metadata for a blueprint. Only included on blueprint detail responses.' properties: time_seconds: description: 'Dismantle duration in seconds' type: integer nullable: true time_label: description: 'Human-readable dismantle duration' type: string nullable: true efficiency: description: 'Dismantle efficiency ratio' type: number format: float nullable: true type: object blueprint_unlocking_mission: title: 'Blueprint Unlocking Mission' description: 'A mission that can unlock this blueprint as a reward.' properties: title: description: 'Formatted mission title' type: string nullable: true debug_name: description: 'Internal debug name of the mission' type: string nullable: true reward_scope: description: 'Scope of the blueprint reward' type: string nullable: true chance: description: 'Drop chance as a decimal (e.g. 0.5 for 50%)' type: number format: float nullable: true web_url: description: 'Web URL for the mission detail page' type: string format: uri nullable: true type: object blueprint_unlocking_missions_grouped_entry: title: 'Blueprint Unlocking Missions Grouped Entry' description: 'A grouped mission entry within unlocking_missions_grouped.' properties: title: description: 'Mission title' type: string reward_scope: description: 'Scope of the blueprint reward' type: string nullable: true count: description: 'Number of occurrences of this mission' type: integer web_url: description: 'Web URL for the mission detail page' type: string format: uri nullable: true type: object blueprint_unlocking_missions_grouped: title: 'Blueprint Unlocking Missions Grouped' description: 'Grouped unlocking missions by drop chance. Only included on blueprint detail responses.' properties: label: description: 'Human-readable chance label (e.g. Guaranteed, 50% chance)' type: string chance: description: 'Drop chance as a decimal' type: number format: float nullable: true missions: description: 'Missions in this chance group' type: array items: $ref: '#/components/schemas/blueprint_unlocking_missions_grouped_entry' type: object blueprint_aspect_input: title: 'Blueprint Aspect Input' description: 'Input resource or item for a blueprint aspect.' properties: kind: description: 'Input kind' type: string uuid: description: 'UUID of the input resource or item' type: string format: uuid nullable: true name: description: 'Display name of the input' type: string quantity: description: 'Discrete count (for items)' type: number format: float nullable: true quantity_scu: description: 'Quantity in Standard Cargo Units (for resources)' type: number format: float nullable: true min_quality: description: 'Minimum quality tier' type: integer web_url: description: 'Web URL for the input detail page' type: string format: uri nullable: true type: object blueprint_aspect_selection_group: title: 'Blueprint Aspect Selection Group' description: 'Selection group metadata when multiple aspect options are available.' properties: key: description: 'Internal key of the selection group' type: string name: description: 'Display name of the selection group' type: string required_count: description: 'Number of options that must be selected' type: integer option_count: description: 'Total number of available options' type: integer type: object blueprint_aspect: title: 'Blueprint Aspect' description: 'A single interactive aspect with quality-dependent modifiers.' properties: key: description: 'Internal key of the aspect' type: string name: description: 'Display name of the aspect' type: string required_count: description: 'Required count from parent group' type: integer nullable: true selection_group: oneOf: - $ref: '#/components/schemas/blueprint_aspect_selection_group' nullable: true input: $ref: '#/components/schemas/blueprint_aspect_input' modifiers: description: 'Quality-dependent modifier effects' type: array items: $ref: '#/components/schemas/blueprint_modifier' initial_quality: description: 'Default quality slider position' type: integer slider_min: description: 'Minimum quality slider value' type: integer slider_max: description: 'Maximum quality slider value' type: integer has_modifiers: description: 'Whether this aspect has any modifiers' type: boolean has_dynamic_modifiers: description: 'Whether modifiers change with quality' type: boolean is_selected: description: 'Whether this aspect is selected by default' type: boolean type: object blueprint_aspect_group: title: 'Blueprint Aspect Group' description: 'A group of related aspects, potentially a choice group.' properties: key: description: 'Internal key of the aspect group' type: string name: description: 'Display name of the aspect group' type: string display_name: description: 'User-facing display name, null if generic' type: string nullable: true required_count: description: 'Number of aspects that must be selected' type: integer option_count: description: 'Total number of aspect options' type: integer is_choice_group: description: 'Whether this is a choice group (required < options)' type: boolean selected_count: description: 'Number of aspects selected by default' type: integer aspect_indexes: description: 'Indexes into the aspects array for this group' type: array items: type: integer type: object blueprint_aspects: title: 'Blueprint Aspects' description: 'Interactive aspect tree for blueprint quality simulation. Only included on blueprint detail responses.' properties: aspects: description: 'Flat list of all aspects' type: array items: $ref: '#/components/schemas/blueprint_aspect' aspect_groups: description: 'Groups of related aspects' type: array items: $ref: '#/components/schemas/blueprint_aspect_group' has_interactive_aspects: description: 'Whether any aspect has dynamic quality modifiers' type: boolean type: object blueprint: title: Blueprint properties: uuid: description: 'Unique blueprint identifier' type: string format: uuid key: description: 'Internal blueprint key (e.g. BP_CRAFT_behr_pistol_ballistic_01)' type: string category_uuid: description: 'UUID of the blueprint category' type: string format: uuid output_item_uuid: description: 'UUID of the item this blueprint crafts' type: string format: uuid output_name: description: 'Display name of the crafted item' type: string nullable: true output_class: description: 'Internal class identifier of the crafted item' type: string nullable: true craft_time_seconds: description: 'Crafting duration in seconds' type: integer nullable: true craft_time_label: description: 'Human-readable crafting duration' type: string nullable: true is_available_by_default: description: 'Whether this blueprint is available without unlocking' type: boolean game_version: description: 'Game version code this data applies to' type: string nullable: true ingredient_count: description: 'Total number of distinct ingredients across all requirement groups' type: integer unlocking_missions_count: description: 'Number of missions that can unlock this blueprint' type: integer ingredients: description: 'Ingredients required to craft the item' type: array items: $ref: '#/components/schemas/blueprint_ingredient' dismantle_returns: description: 'Resources returned when dismantling the crafted item' type: array items: $ref: '#/components/schemas/blueprint_dismantle_return_summary' output: $ref: '#/components/schemas/blueprint_output' dismantle: $ref: '#/components/schemas/blueprint_dismantle' requirement_groups: description: 'Only included on blueprint detail responses.' type: array items: $ref: '#/components/schemas/blueprint_requirement_group' summary_properties: description: 'Only included on blueprint detail responses.' type: array items: $ref: '#/components/schemas/blueprint_summary_property' unlocking_missions: description: 'Only included on blueprint detail responses.' type: array items: $ref: '#/components/schemas/blueprint_unlocking_mission' unlocking_missions_grouped: description: 'Only included on blueprint detail responses.' type: array items: $ref: '#/components/schemas/blueprint_unlocking_missions_grouped' aspects: $ref: '#/components/schemas/blueprint_aspects' tiers: description: 'Only included on blueprint detail responses.' type: array items: $ref: '#/components/schemas/blueprint_tier' link: description: 'API URL for this blueprint' type: string format: uri web_url: description: 'Web URL for the blueprint detail page' type: string format: uri output_item_web_url: description: 'Web URL for the crafted item detail page' type: string format: uri nullable: true type: object commodity_index_location_entry: title: 'Commodity Index Location Entry' description: 'A grouped mining entry within a location, summarizing a specific resource group.' properties: group_name: description: 'Internal group name identifying the mining method or category (e.g. "SpaceShip_Mineables", "Harvestables").' type: string resource_kind: description: 'Kind of resource if resolvable from the group (e.g. "Mineable", "Harvestable").' type: string nullable: true quality_min: description: 'Minimum quality value across entries in this group.' type: integer nullable: true quality_max: description: 'Maximum quality value across entries in this group.' type: integer nullable: true entry_count: description: 'Number of individual resource entries in this group.' type: integer type: object commodity_index_location: title: 'Commodity Index Location' description: 'A named location where a commodity can be found, with grouped entries by mining method.' properties: name: description: 'Canonical location name.' type: string display_name: description: 'Formatted display name including designation prefix (e.g. "CRU-L1: Green Circle").' type: string system: description: 'Star system name this location belongs to.' type: string nullable: true type: description: 'Location type classification (e.g. "Moon", "Planet", "Outpost").' type: string nullable: true parent_name: description: 'Name of the parent celestial body or location.' type: string nullable: true parent_type: description: 'Type of the parent location.' type: string nullable: true uuid: description: 'UUID of the starmap location entity.' type: string format: uuid nullable: true link: description: 'API link to the full location details.' type: string format: uri nullable: true entries: description: 'Resource entries grouped by mining method.' type: array items: $ref: '#/components/schemas/commodity_index_location_entry' type: object commodity_link: title: 'Commodity Link' description: 'Game commodity summary used in list responses.' properties: uuid: description: 'Unique commodity identifier.' type: string format: uuid key: description: 'Internal commodity key (e.g. "Quartz").' type: string name: description: 'Display name of the commodity.' type: string slug: description: 'URL-friendly slug for the commodity.' type: string description: description: 'In-game lore description.' type: string nullable: true tier: description: 'Refinement tier (e.g. "Raw", "Refined").' type: string nullable: true refined_version: description: 'The refined counterpart of this raw commodity, if applicable.' properties: name: description: 'Name of the refined commodity.' type: string uuid: description: 'UUID of the refined commodity.' type: string format: uuid web_url: description: 'Frontend URL for the refined commodity page.' type: string format: uri link: description: 'API link to the refined commodity details.' type: string format: uri type: object nullable: true density_g_per_cc: description: 'Density in grams per cubic centimeter.' type: number nullable: true instability: description: 'Instability rating affecting mining behavior.' type: number nullable: true resistance: description: 'Resistance rating affecting mining difficulty.' type: number nullable: true box_sizes_scu: description: 'Standard cargo box sizes in SCU that this commodity fits into.' type: array items: type: number validate_default_cargo_box: description: 'Whether the default cargo box validation applies.' type: boolean has_default_cargo_containers: description: 'Whether default cargo containers are available for this commodity.' type: boolean is_mineable: description: 'Whether this commodity can be obtained through mining or harvesting.' type: boolean has_ship_mineables: description: 'Whether ship mining deposits exist for this commodity.' type: boolean has_ground_vehicle_mineables: description: 'Whether ground vehicle mining deposits exist for this commodity.' type: boolean has_fps_mineables: description: 'Whether FPS mining deposits exist for this commodity.' type: boolean has_harvestables: description: 'Whether harvestable deposits exist for this commodity.' type: boolean has_salvage: description: 'Whether salvage deposits exist for this commodity.' type: boolean signature: description: 'Electromagnetic signature strength, used for scanner detection.' type: integer nullable: true kind: description: 'Resource kind classification (e.g. "Mineable", "Harvestable").' type: string nullable: true methods: description: 'Available extraction methods (e.g. ["Ship", "Ground Vehicle", "FPS"]).' type: array items: type: string systems: description: 'Star systems where this commodity can be found.' type: array items: type: string locations: description: 'Named locations where this commodity appears.' type: array items: $ref: '#/components/schemas/commodity_index_location' link: description: "API link to this commodity's full details." type: string format: uri web_url: description: "Frontend URL for this commodity's page." type: string format: uri images: description: 'Images from external sources for this commodity.' type: array items: properties: source: description: 'Image source identifier' type: string thumbnail_url: type: string nullable: true thumbnail_width: type: integer nullable: true thumbnail_height: type: integer nullable: true original_url: type: string nullable: true original_width: type: integer nullable: true original_height: type: integer nullable: true type: object type: object commodity_deposit_group: title: 'Commodity Deposit Group' description: 'Deposit base with commodity grouping fields.' allOf: - $ref: '#/components/schemas/deposit_base' - properties: resource_uuid: description: 'UUID of the resource (commodity) this deposit yields.' type: string format: uuid nullable: true group_name: description: 'Internal group name for the mining category (e.g. "SpaceShip_Mineables").' type: string resource_kind: description: 'Resource extraction kind (e.g. "Mineable", "Harvestable").' type: string nullable: true type: object - $ref: '#/components/schemas/commodity_link' commodity_show_location: title: 'Commodity Show Location' description: 'Detailed location data for a commodity deposit, including quality range and probability information.' type: object allOf: - $ref: '#/components/schemas/commodity_link' - properties: name: description: 'Canonical location name.' type: string designation: description: 'Location designation code (e.g. "CRU-L1").' type: string nullable: true display_name: description: 'Formatted display name combining designation and name.' type: string system: description: 'Star system this location belongs to.' type: string nullable: true type: description: 'Location type classification (e.g. "Moon", "Planet", "Outpost").' type: string nullable: true parent_name: description: 'Name of the parent celestial body or location.' type: string nullable: true parent_type: description: 'Type of the parent location.' type: string nullable: true parent_uuid: description: 'UUID of the parent location entity.' type: string format: uuid nullable: true uuid: description: 'UUID of this starmap location entity.' type: string format: uuid nullable: true link: description: 'API link to the full location details.' type: string format: uri nullable: true group_probability: description: 'Raw probability of this commodity group occurring at this location (0–1).' type: number group_probability_percent: description: 'Group probability expressed as a percentage (0–100).' type: number relative_probability: description: 'Raw relative probability compared to other commodities at this location (0–1).' type: number relative_probability_percent: description: 'Relative probability expressed as a percentage (0–100).' type: number quality_min: description: 'Minimum quality across all deposit instances at this location.' type: integer nullable: true quality_max: description: 'Maximum quality across all deposit instances at this location.' type: integer nullable: true areas: description: 'Areas with global modifiers that boost spawn rates at this location.' type: array items: $ref: '#/components/schemas/area_boost' nullable: true resources: description: 'Individual deposit groups for this commodity at this location.' type: array items: $ref: '#/components/schemas/commodity_deposit_group' type: object commodity_version_entry: title: 'Commodity Version Entry' description: 'A raw or refined version of the commodity with navigation links.' type: object allOf: - $ref: '#/components/schemas/commodity_link' - properties: name: description: 'Display name of the versioned commodity.' type: string uuid: description: 'UUID of the versioned commodity.' type: string format: uuid web_url: description: 'Frontend URL for the versioned commodity page.' type: string format: uri link: description: 'API link to the versioned commodity details.' type: string format: uri type: object commodity_system_group: title: 'Commodity System Group' description: 'Locations grouped by star system for organized display.' type: object allOf: - $ref: '#/components/schemas/commodity_link' - properties: name: description: 'Star system name.' type: string locations: description: 'All commodity deposit locations within this system.' type: array items: $ref: '#/components/schemas/commodity_show_location' type: object commodity_show: title: 'Commodity Show' description: 'Full game commodity detail used in show responses.' type: object allOf: - $ref: '#/components/schemas/commodity_link' - properties: uuid: description: 'Unique commodity identifier.' type: string format: uuid key: description: 'Internal commodity key (e.g. "Quartz").' type: string name: description: 'Display name of the commodity.' type: string slug: description: 'URL-friendly slug for the commodity.' type: string description: description: 'In-game lore description.' type: string nullable: true tier: description: 'Refinement tier (e.g. "Raw", "Refined").' type: string nullable: true refined_version: description: 'The refined counterpart of this raw commodity, if applicable.' properties: name: description: 'Name of the refined commodity.' type: string uuid: description: 'UUID of the refined commodity.' type: string format: uuid web_url: description: 'Frontend URL for the refined commodity page.' type: string format: uri link: description: 'API link to the refined commodity details.' type: string format: uri type: object nullable: true density_g_per_cc: description: 'Density in grams per cubic centimeter.' type: number nullable: true instability: description: 'Instability rating affecting mining behavior.' type: number nullable: true resistance: description: 'Resistance rating affecting mining difficulty.' type: number nullable: true box_sizes_scu: description: 'Standard cargo box sizes in SCU that this commodity fits into.' type: array items: type: number validate_default_cargo_box: description: 'Whether the default cargo box validation applies.' type: boolean has_default_cargo_containers: description: 'Whether default cargo containers are available for this commodity.' type: boolean is_mineable: description: 'Whether this commodity can be obtained through mining or harvesting.' type: boolean has_ship_mineables: description: 'Whether ship mining deposits exist for this commodity.' type: boolean has_ground_vehicle_mineables: description: 'Whether ground vehicle mining deposits exist for this commodity.' type: boolean has_fps_mineables: description: 'Whether FPS mining deposits exist for this commodity.' type: boolean has_harvestables: description: 'Whether harvestable deposits exist for this commodity.' type: boolean has_salvage: description: 'Whether salvage deposits exist for this commodity.' type: boolean signature: description: 'Electromagnetic signature strength, used for scanner detection.' type: integer nullable: true kind: description: 'Resource kind classification (e.g. "Mineable", "Harvestable").' type: string nullable: true methods: description: 'Available extraction methods (e.g. ["Ship", "Ground Vehicle", "FPS"]).' type: array items: type: string systems: description: 'Star systems where this commodity can be found.' type: array items: type: string locations: description: 'Flat list of all locations with deposit details.' type: array items: $ref: '#/components/schemas/commodity_show_location' systems_grouped: description: 'Locations organized by star system for hierarchical display.' type: array items: $ref: '#/components/schemas/commodity_system_group' raw_versions: description: 'Raw (unrefined) versions of this commodity, if this is a refined commodity.' type: array items: $ref: '#/components/schemas/commodity_version_entry' nullable: true blueprints: description: 'Crafting blueprints that use or produce this commodity.' type: array items: properties: key: { description: 'Unique blueprint key identifier.', type: string } output_name: { description: 'Name of the item produced by this blueprint.', type: string } output_item_uuid: { description: 'UUID of the output item entity.', type: string, format: uuid, nullable: true } craft_time_label: { description: 'Human-readable crafting duration (e.g. "5m 30s").', type: string } web_url: { description: 'Frontend URL for the blueprint page.', type: string, format: uri } link: { description: 'API link to the blueprint details.', type: string, format: uri } type: object nullable: true items: description: 'Physical items associated with this commodity in the game.' type: array items: properties: name: { description: 'Item display name.', type: string } uuid: { description: 'UUID of the item entity.', type: string, format: uuid, nullable: true } type: { description: 'Item type classification.', type: string, nullable: true } type_label: { description: 'Human-readable label for the item type.', type: string, nullable: true } sub_type: { description: 'Item sub-type classification.', type: string, nullable: true } sub_type_label: { description: 'Human-readable label for the item sub-type.', type: string, nullable: true } size: { description: 'Item size grade.', type: integer, nullable: true } web_url: { description: 'Frontend URL for the item page.', type: string, format: uri, nullable: true } link: { description: 'API link to the item details.', type: string, format: uri, nullable: true } type: object nullable: true link: description: "API link to this commodity's full details." type: string format: uri web_url: description: "Frontend URL for this commodity's page." type: string format: uri type: object area_exception: title: 'Area Exception' description: 'An area-specific modifier that overrides the default deposit probability for a specific resource.' properties: name: description: 'Name of the area where the exception applies.' type: string nullable: true modifier: description: 'Probability multiplier applied within this area (e.g. 2.0 = double chance).' type: number type: object area_boost: title: 'Area Boost' description: 'An area with a global modifier that boosts deposit spawn rates above the baseline.' properties: name: description: 'Name of the boosted area.' type: string nullable: true global_modifier: description: 'Global probability multiplier for this area (values above 1 indicate a boost).' type: number nullable: true type: object clustering_param: title: 'Clustering Param' description: 'A single clustering variation with its own size, proximity, and probability settings.' properties: min_size: description: 'Minimum cluster size.' type: number nullable: true max_size: description: 'Maximum cluster size.' type: number nullable: true min_proximity: description: 'Minimum distance between deposit instances in the cluster.' type: number nullable: true max_proximity: description: 'Maximum distance between deposit instances in the cluster.' type: number nullable: true relative_probability: description: 'Relative probability weight for this clustering variation.' type: number nullable: true type: object clustering: title: Clustering description: 'Defines how deposits are grouped into clusters, including size, proximity, and probability parameters.' properties: key: description: 'Internal clustering configuration key.' type: string nullable: true min_size: description: 'Minimum number of deposits in a cluster.' type: number nullable: true max_size: description: 'Maximum number of deposits in a cluster.' type: number nullable: true min_proximity: description: 'Minimum distance between clustered deposits.' type: number nullable: true max_proximity: description: 'Maximum distance between clustered deposits.' type: number nullable: true probability: description: 'Raw probability of clustering occurring (0–1).' type: number nullable: true probability_percent: description: 'Clustering probability expressed as a percentage (0–100).' type: number nullable: true params: description: 'List of clustering variations with individual probability weights.' type: array items: $ref: '#/components/schemas/clustering_param' type: object material_entry: title: 'Material Entry' description: 'A single material (commodity) found within a deposit, including quality range and probability data.' properties: key: description: 'Unique material key identifier.' type: string nullable: true name: description: 'Display name of the material.' type: string nullable: true uuid: description: 'UUID of the commodity this material represents.' type: string format: uuid nullable: true is_current: description: 'Whether this material is the primary commodity being viewed.' type: boolean quality_min: description: 'Minimum quality value of this material in the deposit.' type: integer nullable: true quality_max: description: 'Maximum quality value of this material in the deposit.' type: integer nullable: true quality_mean: description: 'Average quality value of this material.' type: integer nullable: true quality_stddev: description: 'Standard deviation of the quality distribution.' type: integer nullable: true min_percentage: description: 'Minimum composition percentage of this material (0–100).' type: number max_percentage: description: 'Maximum composition percentage of this material (0–100).' type: number instability: description: 'Instability rating of this material, affecting mining difficulty.' type: number nullable: true resistance: description: 'Resistance rating of this material, affecting mining difficulty.' type: number nullable: true group_probability: description: 'Raw probability of this material occurring in the deposit group (0–1).' type: number group_probability_percent: description: 'Group probability expressed as a percentage (0–100).' type: number relative_probability: description: 'Raw relative probability compared to other materials in the deposit (0–1).' type: number relative_probability_percent: description: 'Relative probability expressed as a percentage (0–100).' type: number quality_quantized_values: description: "The discrete set of quantized quality values a player can actually receive, filtered by the material's quality range. Each value corresponds to one reachable quantization band." type: array items: type: integer example: - 521 - 664 - 710 - 874 - 907 - 970 - 1000 nullable: true quality_quantization: description: 'All possible quantized quality values for this material from the source data. Use quality_quantized_values for the filtered set reachable on this specific deposit.' type: array items: type: integer example: - 348 - 523 - 686 - 717 - 861 - 916 - 975 - 1000 nullable: true type: object harvestable_setup: title: 'Harvestable Setup' description: 'Respawn and despawn timing configuration for harvestable deposit instances.' properties: respawn_seconds: description: 'Time in seconds before a harvested instance respawns.' type: integer nullable: true respawn_formatted: description: 'Human-readable respawn duration (e.g. "5m 30s").' type: string nullable: true despawn_seconds: description: 'Time in seconds before an uncollected instance despawns.' type: integer nullable: true despawn_formatted: description: 'Human-readable despawn duration (e.g. "10m").' type: string nullable: true relative_probability: description: 'Raw relative spawn probability for this harvestable (0–1).' type: number nullable: true relative_probability_percent: description: 'Relative spawn probability expressed as a percentage (0–100).' type: number nullable: true respawn_multiplier: description: 'Multiplier applied to the base respawn time.' type: number nullable: true additional_wait_seconds: description: 'Extra wait time in seconds added when nearby players are present.' type: integer nullable: true additional_wait_formatted: description: 'Human-readable additional wait duration (e.g. "2m").' type: string nullable: true type: object deposit_base: title: 'Deposit Base' description: 'Base schema for a mineable or harvestable deposit, shared across commodity and starmap resources.' properties: key: description: 'Unique deposit key identifier.' type: string label: description: 'Human-readable deposit name derived from the key.' type: string signature: description: 'Electromagnetic signature strength of the deposit.' type: integer nullable: true area_exceptions: description: 'Area-specific probability modifiers that override the default for this deposit.' type: array items: $ref: '#/components/schemas/area_exception' nullable: true clustering: oneOf: - $ref: '#/components/schemas/clustering' nullable: true description: 'Clustering configuration for deposit groupings, if applicable.' harvestable_setup: oneOf: - $ref: '#/components/schemas/harvestable_setup' nullable: true description: 'Respawn and despawn timing data for harvestable deposits.' provider_names: description: 'List of unique provider names that generate this deposit.' type: array items: type: string materials: description: 'List of materials (commodities) found in this deposit with their quality and probability data.' type: array items: $ref: '#/components/schemas/material_entry' quality_min: description: 'Minimum quality across all instances of this deposit.' type: integer nullable: true quality_max: description: 'Maximum quality across all instances of this deposit.' type: integer nullable: true relative_probability_min: description: 'Lowest relative probability among deposit instances (0–1).' type: number nullable: true relative_probability_max: description: 'Highest relative probability among deposit instances (0–1).' type: number nullable: true relative_probability_min_percent: description: 'Lowest relative probability as a percentage (0–100).' type: number nullable: true relative_probability_max_percent: description: 'Highest relative probability as a percentage (0–100).' type: number nullable: true type: object faction_index: title: 'Faction Summary' description: 'Compact faction representation used in list endpoints.' properties: uuid: description: 'Unique faction identifier.' type: string format: uuid example: 4e429470-4d4e-4c2b-a4ac-4de42ada16e0 name: description: 'Display name of the faction.' type: string example: 'Aciedo Communications' faction_type: description: 'Category of the faction. One of: Lawful, Unlawful, LawEnforcement, PrivateSecurity.' type: string example: Lawful nullable: true lawful: description: 'Whether the faction is considered lawful.' type: boolean example: true nullable: true is_npc: description: 'Whether the faction is NPC-controlled.' type: boolean example: false has_reputation: description: 'Whether the faction tracks player reputation.' type: boolean example: true link: description: 'API URL for the full faction detail.' type: string format: uri type: object faction: title: Faction description: 'Full faction detail including reputation ladder when the faction has a reputation system.' type: object allOf: - $ref: '#/components/schemas/faction_index' - properties: uuid: description: 'Unique faction identifier.' type: string format: uuid example: 4e429470-4d4e-4c2b-a4ac-4de42ada16e0 name: description: 'Display name of the faction.' type: string example: 'Aciedo Communications' description: description: 'Lore description of the faction.' type: string nullable: true default_reaction: description: 'Default reaction towards the player. One of: Friendly, Hostile, Neutral.' type: string example: Neutral faction_type: description: 'Category of the faction. One of: Lawful, Unlawful, LawEnforcement, PrivateSecurity.' type: string example: Lawful able_to_arrest: description: 'Whether the faction can arrest players.' type: boolean example: false polices_lawful_trespass: description: 'Whether the faction enforces trespass violations against lawful characters.' type: boolean example: false polices_criminality: description: 'Whether the faction actively polices criminal activity.' type: boolean example: false no_legal_rights: description: 'Whether the faction operates without legal protections.' type: boolean example: false has_reputation: description: 'Whether the faction tracks player reputation.' type: boolean example: true headquarters: description: "Location of the faction's headquarters." type: string nullable: true founded: description: 'Founding date or era of the faction.' type: string nullable: true leadership: description: 'Current leadership of the faction.' type: string nullable: true area: description: 'Primary area of operations.' type: string nullable: true focus: description: 'Primary focus or industry of the faction.' type: string nullable: true lawful: description: 'Whether the faction is considered lawful.' type: boolean nullable: true sort_order_scope: description: 'Scope key used for sort ordering within reputation tiers.' type: string nullable: true is_npc: description: 'Whether the faction is NPC-controlled.' type: boolean example: false reputation_ladder: oneOf: - $ref: '#/components/schemas/faction_reputation_ladder' nullable: true description: 'Reputation ladder with standings. Requires ?include=reputationLadder.' link: description: 'API URL for this faction.' type: string format: uri type: object faction_reputation_ladder: title: 'Faction Reputation Ladder' description: 'Reputation ladder defining standings and thresholds for a faction.' type: object allOf: - $ref: '#/components/schemas/faction_index' - properties: scope_name: description: 'Internal scope name for the reputation system.' type: string example: FactionReputation display_name: description: 'Human-readable label for the reputation scope.' type: string example: Standing nullable: true reputation_ceiling: description: 'Maximum attainable reputation value.' type: integer example: 95250 initial_reputation: description: 'Starting reputation value for new players.' type: integer example: 0 standings: description: 'Ordered list of reputation tiers from highest to lowest.' type: array items: $ref: '#/components/schemas/faction_standing' type: object faction_standing: title: 'Faction Standing' description: "A single reputation tier within a faction's reputation ladder." type: object allOf: - $ref: '#/components/schemas/faction_index' - properties: uuid: description: 'Unique standing identifier.' type: string format: uuid example: bcd1f776-9a6e-4ffd-85c4-6df64f4cf2ed name: description: 'Internal standing name.' type: string example: Affinity_Good_100_Exalted display_name: description: 'Human-readable standing name.' type: string example: Exalted nullable: true min_reputation: description: 'Minimum reputation required for this standing.' type: integer example: 10000 drift_reputation: description: 'Reputation change applied per drift cycle.' type: integer example: 0 drift_time_hours: description: 'Hours between drift cycles.' type: integer example: 0 gated: description: 'Whether this standing is gated and cannot be reached through normal progression.' type: boolean example: false type: object game_version: title: 'Game Version' properties: code: type: string example: 4.7.0-LIVE.11518367 channel: type: string example: live released_at: type: string format: date-time example: '2024-12-15T10:00:00+00:00' is_default: type: boolean example: true type: object item_description_data: title: 'Item Description Data' description: 'Data found in the description of an item, e.g. "Carrying Capacity: 2kµSCU".' properties: name: type: string value: type: string type: description: 'Deprecated: Use "value" key.' type: string deprecated: true type: object item_dimension: title: 'Item Dimension' description: 'Dimensions of an item, generated from inventoryOccupancyDimensions or inventoryOccupancyDimensionsUIOverride in AttachDef.' properties: width: description: 'Width in meters, either from "DimensionOverrides" or "Dimension".' type: number format: double example: 0.52 nullable: true height: description: 'Height in meters, either from "DimensionOverrides" or "Dimension".' type: number format: double example: 0.18 nullable: true length: description: 'Length in meters, either from "DimensionOverrides" or "Dimension".' type: number format: double example: 1.12 nullable: true volume: description: 'Cubic volume derived from the true dimensions (SCU).' type: number format: double example: 0.11 nullable: true volume_converted: description: 'Converted volume value from game data (e.g. in cSCU).' type: number nullable: true volume_converted_unit: description: 'Unit of the converted volume (e.g. "cSCU").' type: string nullable: true true_dimension: description: 'Raw dimensions from the game data in meters prior to overrides. Added only when the UI values differ from the canonical measurements.' properties: width: description: 'Original width pulled directly from the unmodified item definition (meters).' type: number format: double example: 0.5 nullable: true height: description: 'Original height pulled directly from the unmodified item definition (meters).' type: number format: double example: 0.2 nullable: true length: description: 'Original length pulled directly from the unmodified item definition (meters).' type: number format: double example: 1.1 nullable: true type: object example: width: 0.5 height: 0.2 length: 1.1 nullable: true type: object item_distortion: title: 'Item Distortion' description: 'Distortion information from stdItem.Distortion.' properties: decay_rate: type: number format: double nullable: true decay_delay: type: number format: double nullable: true max: type: number format: double nullable: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true overload_ratio: description: 'Deprecated, does not exist anymore.' type: number format: double nullable: true deprecated: true warning_ratio: type: number format: double nullable: true recovery_ratio: type: number format: double nullable: true recovery_time: description: 'Deprecated, does not exist anymore.' type: number format: double nullable: true deprecated: true power_ratio_at_max_distortion: type: number format: double nullable: true power_change_only_at_max_distortion: type: integer nullable: true shutdown_time: type: number format: double nullable: true type: object item_durability: title: 'Item Durability' description: 'Durability information of an item, generated from SHealthComponentParams (health, repairable, salvageable) and SWearAccumulatorParams (max_lifetime).' properties: health: description: SHealthComponentParams@Health type: number format: double nullable: true max_lifetime: description: 'MaxLifetimeHours attribute on SWearAccumulatorParams' type: number format: double nullable: true repairable: description: SHealthComponentParams@IsRepairable type: boolean salvageable: description: SHealthComponentParams@IsSalvagable type: boolean resistance: description: 'Resistance attributes on SHealthComponentParams' type: object nullable: true type: object item_emission: title: 'Item EM / IR Emission' description: 'EM and IR Emission calculated from Resource Network' properties: ir: description: 'IR emission' type: number format: double nullable: true em_min: description: 'Minimum EM emission' type: number format: double nullable: true em_max: description: 'Maximum EM emission' type: number format: double nullable: true em_decay: description: 'EM decay' type: number format: double nullable: true em_per_segment: description: 'EM decay per segment' type: number format: double nullable: true type: object item_heat_connection: title: 'Item Heat Connection' description: 'Heat connection information, generated from EntityComponentHeatConnection attributes.' properties: temperature_to_ir: type: number format: double nullable: true ir_temperature_threshold: description: StartIRTemperature type: number format: double nullable: true overpower_heat: type: number format: double nullable: true overclock_threshold_min: type: number format: double nullable: true overclock_threshold_max: type: number format: double nullable: true thermal_energy_base: type: number format: double nullable: true thermal_energy_draw: type: number format: double nullable: true thermal_conductivity: type: number format: double nullable: true specific_heat_capacity: type: number format: double nullable: true mass: type: number format: double nullable: true surface_area: type: number format: double nullable: true start_cooling_temperature: type: number format: double nullable: true max_cooling_rate: type: number format: double nullable: true max_temperature: type: number format: double nullable: true min_temperature: type: number format: double nullable: true overheat_temperature: type: number format: double nullable: true recovery_temperature: type: number format: double nullable: true misfire_min_temperature: type: number format: double nullable: true misfire_max_temperature: type: number format: double nullable: true ir_emission: description: '(StartCoolingTemperature - StartIRTemperature) * TemperatureToIR' type: number format: double nullable: true type: object item_inventory: title: 'Item Inventory' description: 'Container (Inventory) of an item, resolved from SCItemInventoryContainerComponentParams' properties: uuid: description: 'Value of containerParams' type: string nullable: true width: description: interiorDimensions@x type: number format: double nullable: true height: description: interiorDimensions@z type: number format: double nullable: true length: description: interiorDimensions@y type: number format: double nullable: true volume: description: 'x*y*z' type: number format: double nullable: true scu: description: 'Amount of SCU this container can hold. This is the raw value as set in the game data.' type: number format: double example: 0.002 nullable: true scu_converted: description: 'Raw SCU value (for example µSCU) converted to SCU' type: number format: double nullable: true unit: description: 'Unit as shown in the UI for example µSCU' type: string nullable: true micro_scu: description: 'µSCU version of SCU. Only calculated when unit is 0.' type: number format: double nullable: true open: description: IsOpenContainer type: boolean nullable: true external: description: IsExternalContainer type: boolean nullable: true closed: description: IsClosedContainer type: boolean nullable: true min_size: description: 'Minimum item dimensions accepted by this container.' properties: x: type: number nullable: true 'y': type: number nullable: true z: type: number nullable: true type: object nullable: true max_size: description: 'Maximum item dimensions accepted by this container.' properties: x: type: number nullable: true 'y': type: number nullable: true z: type: number nullable: true type: object nullable: true min_scu_box: description: 'Smallest standard SCU box whose dimensions satisfy the min item size. Powers of two: 0.125, 1, 2, 4, 8, 16, 32' type: number example: 1 nullable: true max_scu_box: description: 'Largest standard SCU box that fits within the max item size. Powers of two: 0.125, 1, 2, 4, 8, 16, 32' type: number example: 8 nullable: true type: object item_link: title: 'Item Link' description: 'Link information to an Item' type: object allOf: - properties: uuid: type: string name: type: string class_name: type: string example: 987_jacket_03_01_04 type: type: string type_label: description: 'Human-readable label for the item type' type: string nullable: true sub_type: type: string nullable: true sub_type_label: description: 'Human-readable label for the item sub-type' type: string nullable: true classification: type: string example: FPS.Clothing.Torso nullable: true classification_label: description: 'Human-readable label for the item classification' type: string nullable: true is_base_variant: type: boolean variant_name: description: 'Extracted variant name, e.g. "Executive Edition" or "Aqua"' type: string nullable: true manufacturer: $ref: '#/components/schemas/manufacturer_link' link: type: string size: type: integer nullable: true base_variant: description: 'Link to base variant item' type: string nullable: true variants: type: array items: $ref: '#/components/schemas/item_link' nullable: true type: object - $ref: '#/components/schemas/metadata' item_port: title: 'Item Port' properties: name: type: string display_name: type: string nullable: true position: type: string nullable: true size: type: integer nullable: true sizes: properties: min: type: integer nullable: true max: type: integer nullable: true type: object compatible_types: type: array items: $ref: '#/components/schemas/item_port_type' nullable: true types: description: 'Raw type strings as provided by the game data' type: array items: type: string nullable: true tags: type: array items: type: string nullable: true required_tags: type: array items: type: string nullable: true flags: description: 'Port flags from game data' type: array items: type: string nullable: true editable: description: 'Whether the port can be modified in-game.' type: boolean nullable: true uneditable: description: 'Deprecated: Use editable (inverted value).' type: boolean nullable: true deprecated: true equipped_item_uuid: description: 'UUID of the equipped item' type: string nullable: true equipped_item: oneOf: - $ref: '#/components/schemas/item_link' nullable: true equipped_port_item: oneOf: - $ref: '#/components/schemas/game_port_item' nullable: true type: object item_port_type: title: 'Item Port Compatible Types' properties: type: type: string nullable: true sub_types: type: array items: type: string nullable: true type: object item_power_connection: title: 'Item Power Connection' description: 'Power connection information, generated from EntityComponentPowerConnection attributes.' properties: power_base: type: number format: double nullable: true power_draw: type: number format: double nullable: true throttleable: description: IsThrottleable type: boolean nullable: true overclockable: description: IsOverclockable type: boolean nullable: true overclock_threshold_min: type: number format: double nullable: true overclock_threshold_max: type: number format: double nullable: true overclock_performance: type: number format: double nullable: true overpower_performance: type: number format: double nullable: true power_to_em: type: number format: double nullable: true decay_rate_em: type: number format: double nullable: true em_min: description: 'PowerBase * PowerToEm. Use ResourceNetwork data instead.' type: number format: double nullable: true em_max: description: 'PowerDraw * PowerToEm. Use ResourceNetwork data instead.' type: number format: double nullable: true type: object game_item: title: Item description: 'An item in Star Citizen, based on EntityClassDefinition XML files.' properties: uuid: type: string slug: description: 'URL-friendly slug for the item.' type: string nullable: true name: type: string class_name: type: string classification: description: 'Not actually found in the game data, but generated by ScDataDumper.' type: string example: FPS.Clothing.Torso classification_label: description: 'Human-readable label for the item classification' type: string nullable: true description: nullable: true oneOf: - type: string - type: array items: $ref: '#/components/schemas/translation' size: description: AttachDef@Size type: integer example: 1 nullable: true mass: description: 'Generated from SEntityRigidPhysicsControllerParams' type: number format: double example: 1000 nullable: true rarity: description: 'Item rarity from stdItem.Rarity. Only present when the item has rarity data.' type: string enum: - Common - Uncommon - Rare - Epic - Legendary example: Common nullable: true is_base_variant: type: boolean is_craftable: type: boolean blueprint: description: 'Crafting blueprints that produce this item. Only returned when the item is craftable. Use include=blueprints to get full blueprint data instead of links.' type: array items: oneOf: - $ref: '#/components/schemas/item_blueprint_link' - $ref: '#/components/schemas/blueprint' nullable: true grade: description: 'Only returned for Ship.* items (derived formatting for ship grades).' type: string nullable: true class: description: 'Only returned for Ship.* items.' type: string nullable: true description_data: description: 'Key/value pairs derived from the item description.' type: array items: $ref: '#/components/schemas/item_description_data' nullable: true manufacturer_description: description: 'Manufacturer set in the description' type: string nullable: true manufacturer: oneOf: - $ref: '#/components/schemas/manufacturer_link' nullable: true type: description: 'AttachDef@Type (NOITEM_ prefix removed)' type: string nullable: true type_label: description: 'Human-readable label for the item type' type: string nullable: true type_web_url: description: 'Web URL for filtering items by type' type: string nullable: true sub_type: description: AttachDef@SubType type: string nullable: true sub_type_label: description: 'Human-readable label for the item sub-type' type: string nullable: true position: description: 'Only returned for WeaponAttachment items (non-placeholder). Maps sub_type to a display slot name.' type: string example: Optic nullable: true max_mounts: description: 'Only returned for turret-like items.' type: integer nullable: true max_missiles: description: 'Only returned for MissileLauncher turret-like items.' type: integer nullable: true max_bombs: description: 'Only returned for BombLauncher turret-like items.' type: integer nullable: true min_size: description: 'Only returned for turret-like items.' type: integer nullable: true max_size: description: 'Only returned for turret-like items.' type: integer nullable: true dimension: $ref: '#/components/schemas/item_dimension' inventory: oneOf: - $ref: '#/components/schemas/item_inventory' nullable: true tags: description: AttachDef@Tags type: array items: type: string nullable: true required_tags: description: AttachDef@RequiredTags type: array items: type: string nullable: true entity_tags: description: 'Entity tag UUIDs from the database relationship (empty array when not loaded).' type: array items: type: string nullable: true entity_tag_map: description: 'Entity tags from the database relationship (empty array when not loaded).' type: array items: properties: uuid: type: string name: type: string type: object nullable: true interactions: description: 'Generated from SInteractionPointParams' type: array items: type: string nullable: true ports: description: 'Item ports derived from stdItem.Ports.' type: array items: $ref: '#/components/schemas/item_port' nullable: true heat: oneOf: - $ref: '#/components/schemas/item_heat_connection' nullable: true temperature: oneOf: - $ref: '#/components/schemas/item_temperature' nullable: true power: oneOf: - $ref: '#/components/schemas/item_power_connection' nullable: true distortion: oneOf: - $ref: '#/components/schemas/item_distortion' nullable: true durability: oneOf: - $ref: '#/components/schemas/item_durability' nullable: true resource_container: oneOf: - $ref: '#/components/schemas/resource_container' nullable: true resource_network: oneOf: - $ref: '#/components/schemas/resource_network' nullable: true emission: oneOf: - $ref: '#/components/schemas/item_emission' nullable: true seat: oneOf: - $ref: '#/components/schemas/seat' nullable: true ammunition: oneOf: - $ref: '#/components/schemas/ammunition' nullable: true temperature_resistance: oneOf: - $ref: '#/components/schemas/temperature_resistance' nullable: true radiation_resistance: oneOf: - $ref: '#/components/schemas/radiation_resistance' nullable: true gforce_resistance: description: 'G-force tolerance modifier. Positive values increase tolerance, negative values reduce it. 0 = neutral.' type: number format: double example: 0.9 nullable: true armor: oneOf: - $ref: '#/components/schemas/vehicle_armor' nullable: true cooler: oneOf: - $ref: '#/components/schemas/cooler' nullable: true flight_controller: oneOf: - $ref: '#/components/schemas/flight_controller' nullable: true fuel_tank: oneOf: - $ref: '#/components/schemas/fuel_tank' nullable: true fuel_intake: oneOf: - $ref: '#/components/schemas/fuel_intake' nullable: true hacking_chip: oneOf: - $ref: '#/components/schemas/hacking_chip' nullable: true mining_laser: oneOf: - $ref: '#/components/schemas/mining_laser' nullable: true mining_module: oneOf: - $ref: '#/components/schemas/mining_module' nullable: true mining_modifier: oneOf: - $ref: '#/components/schemas/mining_modifier' nullable: true mining_gadget: oneOf: - $ref: '#/components/schemas/mining_module' nullable: true description: 'Mining gadget currently resolves using the mining_module schema.' quantum_drive: oneOf: - $ref: '#/components/schemas/quantum_drive' nullable: true quantum_interdiction_generator: oneOf: - $ref: '#/components/schemas/quantum_interdiction_generator' nullable: true self_destruct: oneOf: - $ref: '#/components/schemas/self_destruct' nullable: true shield: oneOf: - $ref: '#/components/schemas/shield' nullable: true shield_controller: oneOf: - $ref: '#/components/schemas/shield_controller' nullable: true jump_drive: oneOf: - $ref: '#/components/schemas/jump_drive' nullable: true thruster: oneOf: - $ref: '#/components/schemas/thruster' nullable: true power_plant: oneOf: - $ref: '#/components/schemas/power_plant' nullable: true radar: oneOf: - $ref: '#/components/schemas/radar' nullable: true cargo_grid: oneOf: - $ref: '#/components/schemas/item_inventory' nullable: true clothing: description: 'Note: FPS armor currently also populates this key due to resource logic. Prefer returning suit_armor instead.' nullable: true oneOf: - $ref: '#/components/schemas/clothing' - $ref: '#/components/schemas/suit_armor' suit_armor: oneOf: - $ref: '#/components/schemas/suit_armor' nullable: true description: 'FPS Armor' bomb: oneOf: - $ref: '#/components/schemas/bomb' nullable: true missile: oneOf: - $ref: '#/components/schemas/missile' nullable: true missile_rack: oneOf: - $ref: '#/components/schemas/missile_rack' nullable: true counter_measure: oneOf: - $ref: '#/components/schemas/counter_measure' nullable: true emp: oneOf: - $ref: '#/components/schemas/emp' nullable: true personal_weapon: oneOf: - $ref: '#/components/schemas/personal_weapon' nullable: true vehicle_weapon: oneOf: - $ref: '#/components/schemas/vehicle_weapon' nullable: true melee_weapon: oneOf: - $ref: '#/components/schemas/melee_weapon' nullable: true grenade: oneOf: - $ref: '#/components/schemas/grenade' nullable: true knife: oneOf: - $ref: '#/components/schemas/melee_weapon' nullable: true deprecated: true turret: oneOf: - $ref: '#/components/schemas/turret' nullable: true tractor_beam: oneOf: - $ref: '#/components/schemas/tractor_beam' nullable: true food: oneOf: - $ref: '#/components/schemas/food' nullable: true medical: oneOf: - $ref: '#/components/schemas/medicine' nullable: true weapon_modifier: oneOf: - $ref: '#/components/schemas/weapon_modifier' nullable: true salvage_modifier: oneOf: - $ref: '#/components/schemas/salvage_modifier' nullable: true iron_sight: oneOf: - $ref: '#/components/schemas/weapon_attachment_iron_sight' nullable: true laser_pointer: oneOf: - $ref: '#/components/schemas/weapon_attachment_laser_pointer' nullable: true flashlight: oneOf: - $ref: '#/components/schemas/weapon_attachment_flashlight' nullable: true magazine: oneOf: - $ref: '#/components/schemas/weapon_attachment_magazine' nullable: true compensator: oneOf: - $ref: '#/components/schemas/weapon_attachment_barrel_attachment' nullable: true flash_hider: oneOf: - $ref: '#/components/schemas/weapon_attachment_barrel_attachment' nullable: true base_variant: oneOf: - $ref: '#/components/schemas/item_link' nullable: true variants: type: array items: $ref: '#/components/schemas/item_link' nullable: true related_items: oneOf: - $ref: '#/components/schemas/item_related_items' nullable: true description: 'Only returned when `include=related_items` is requested.' shops: description: 'Deprecated: shop data is not available in the source files anymore.' type: array items: type: object nullable: true deprecated: true images: description: 'Images from external sources for this item.' type: array items: properties: source: description: 'Image source identifier' type: string example: starcitizen.tools thumbnail_url: type: string nullable: true thumbnail_width: type: integer nullable: true thumbnail_height: type: integer nullable: true original_url: type: string nullable: true original_width: type: integer nullable: true original_height: type: integer nullable: true type: object nullable: true uex_prices: description: 'Item prices from UEX Corp API.' type: array items: properties: terminal_id: description: 'UEX terminal ID' type: integer terminal_code: type: string nullable: true terminal_name: type: string starmap_location_uuid: type: string nullable: true price_buy: type: number format: double price_sell: type: number format: double game_version: description: 'Game version this price applies to, e.g. 4.7.1' type: string nullable: true date_updated: type: string format: date-time link: description: 'API URL for the starmap location' type: string nullable: true web_url: description: 'Web URL for the starmap location' type: string nullable: true starmap_location: description: 'Expanded starmap location data' properties: name: { type: string } slug: { type: string, nullable: true } type_name: { type: string, nullable: true } parent_name: { type: string, nullable: true } star_system_name: { type: string, nullable: true } type: object nullable: true type: object nullable: true vehicles: description: 'Only returned when `include=vehicles` is requested. Vehicles that have this item installed.' type: array items: $ref: '#/components/schemas/vehicle_link' nullable: true web_url: description: 'Web URL for item detail page' type: string link: description: 'API URL for item detail endpoint' type: string updated_at: description: 'Date/time this item was updated in the database.' type: string format: date-time version: description: 'Game version code' type: string example: 4.4.0-LIVE.12340123 type: object item_blueprint_link: title: 'Item Blueprint Link' properties: uuid: type: string format: uuid name: type: string link: type: string format: uri type: object item_related_link: title: 'Related Item Link' description: 'Link information for a related item with full classification' properties: uuid: type: string name: type: string class_name: type: string nullable: true type: type: string nullable: true type_label: description: 'Human-readable label for the item type' type: string nullable: true sub_type: type: string nullable: true sub_type_label: description: 'Human-readable label for the item sub-type' type: string nullable: true classification: type: string nullable: true classification_label: description: 'Human-readable label for the item classification' type: string nullable: true is_base_variant: type: boolean variant_name: type: string nullable: true manufacturer: description: 'Manufacturer information with link' properties: code: type: string nullable: true name: type: string nullable: true link: type: string type: object nullable: true version: type: string nullable: true link: type: string web_url: type: string size: type: integer nullable: true grade: type: integer nullable: true grade_label: description: 'Human-readable grade (A/B/C/D for Ship items)' type: string nullable: true class: type: string nullable: true type: object item_related_link_ext: title: 'Related Item Link (Extended)' description: 'Related item link with classification (set items)' allOf: - $ref: '#/components/schemas/item_related_link' item_related_items: title: 'Related Items' description: 'Aggregated related information for base/variants and set items' properties: set_name: type: string nullable: true base_item: oneOf: - $ref: '#/components/schemas/item_related_link' nullable: true variant_items: type: array items: $ref: '#/components/schemas/item_related_link' nullable: true set_items: type: array items: $ref: '#/components/schemas/item_related_link_ext' nullable: true type: object item_temperature: title: 'Item Temperature' description: 'Calculated temperature information, generated from Temperature attributes.' properties: unit: description: 'Temperature unit (e.g. "K" for Kelvin).' type: string nullable: true cooling_threshold: description: 'Calculated cooling threshold' type: number format: double nullable: true ir_threshold: description: 'Calculated IR threshold' type: number format: double nullable: true overheat_threshold: description: 'Calculated overheat threshold' type: number format: double nullable: true overheat_temperature: description: 'Deprecated: Use overheat_threshold.' type: number format: double nullable: true deprecated: true max_temperature: description: 'Calculated maximum temperature' type: number format: double nullable: true recovery_temperature: description: 'Calculated recovery temperature' type: number format: double nullable: true type: object game_port_item: title: 'Equipped Port Item' description: 'Item equipped in a port, with basic item data, optional manufacturer, and conditional resource network and emission details.' type: object allOf: - $ref: '#/components/schemas/item_related_items' - properties: uuid: type: string name: type: string class_name: type: string type: description: 'AttachDef@Type (NOITEM_ prefix removed)' type: string nullable: true type_label: description: 'Human-readable label for the item type' type: string nullable: true sub_type: description: AttachDef@SubType type: string nullable: true sub_type_label: description: 'Human-readable label for the item sub-type' type: string nullable: true link: description: 'API URL for item detail endpoint' type: string size: description: AttachDef@Size type: integer nullable: true mass: description: 'Generated from SEntityRigidPhysicsControllerParams' type: number format: double nullable: true grade: description: 'Derived formatting for ship grades (A, B, C, D) or extracted from DescriptionData.Grade' type: string nullable: true class: description: 'From DescriptionData.Class if not set directly' type: string nullable: true manufacturer: oneOf: - $ref: '#/components/schemas/manufacturer_link' nullable: true description: 'Present when manufacturer is set' resource_network: oneOf: - $ref: '#/components/schemas/resource_network' nullable: true description: 'Present when stdItem.ResourceNetwork exists' emission: oneOf: - $ref: '#/components/schemas/item_emission' nullable: true description: 'Present when stdItem.ResourceNetwork exists; calculated emission values' version: description: 'Game version code' type: string example: 4.4.0-LIVE.12340123 type: object resource_container: title: 'Resource Container' description: 'Container data for items that can hold resources (e.g. cargo or consumables).' properties: mass: type: number format: double nullable: true immutable: type: boolean nullable: true default_fill_fraction: description: 'Initial fill fraction (0-1).' type: number format: double nullable: true capacity: properties: value: type: number format: double nullable: true unit: type: string nullable: true unit_name: type: string nullable: true scu: type: number format: double nullable: true type: object nullable: true inclusive_resources: description: 'UUIDs of resources allowed in this container.' type: array items: type: string nullable: true default_composition: description: 'Default composition entries and weights.' type: array items: $ref: '#/components/schemas/resource_container_composition_entry' nullable: true type: object resource_container_composition_entry: title: 'Resource Container Composition Entry' properties: entry: type: string nullable: true weight: type: number format: double nullable: true commodity: oneOf: - $ref: '#/components/schemas/resource_container_commodity_link' nullable: true type: object resource_container_commodity_link: title: 'Commodity Link' description: 'Link to the commodity that this composition entry references.' properties: uuid: type: string format: uuid name: type: string slug: type: string nullable: true link: type: string nullable: true type: object resource_network_delta: title: 'Resource Network Delta' description: 'Single resource change entry applied when a network state is active.' properties: type: description: 'Delta type (Consumption, Generation, Conversion, Storage, NetworkReflection).' type: string example: Consumption nullable: true resource: description: 'Target resource affected (Power, Fuel, Coolant, QuantumFuel, Shield, LifeSupport).' type: string example: Power nullable: true rate: description: 'Rate applied per tick (game native units). Typical power draw ~2–5; fuel draw often 0.01.' type: number format: double example: 2.2 nullable: true minimum_fraction: description: 'Minimum fraction of the resource that must be available before the delta applies.' type: number format: double example: 0.25 nullable: true generated_resource: description: 'Resource produced by conversion/storage deltas.' type: string example: Coolant nullable: true generated_rate: description: 'Rate of the generated resource.' type: number format: double example: 22 nullable: true discharge: description: 'Whether stored resource is discharged (0/1 flag).' type: number format: double example: 0 nullable: true no_over_generation: description: 'Prevents generating above capacity (0/1 flag).' type: number format: double example: 0 nullable: true binary_evaluation: description: 'Binary reflection value for NetworkReflection deltas.' type: number format: double example: 1 nullable: true composition: description: 'Optional composition entries describing how generated resource is assembled.' type: array items: properties: container_resource: type: string example: bcc8cde9-de58-4e6b-8ee9-37d4aaa507eb nullable: true ratio: type: number format: double example: 1 nullable: true type: object nullable: true type: object resource_network_state: title: 'Resource Network State' description: 'Named state in the resource network with its signature and deltas.' properties: name: description: 'State name (e.g. Online). Can be empty on some items.' type: string example: Online nullable: true signature: description: 'Electromagnetic/infrared signature while in this state.' properties: em: type: number format: double example: 1490 nullable: true ir: type: number format: double example: 7260 nullable: true type: object nullable: true deltas: type: array items: $ref: '#/components/schemas/resource_network_delta' nullable: true power_ranges: description: 'Power range modifiers applied when this state is active.' type: array items: properties: start: description: 'Start value of the power range.' type: number format: double nullable: true modifier: description: 'Modifier applied within this power range.' type: number format: double nullable: true register_range: description: 'Whether this range should be registered.' type: boolean nullable: true type: object nullable: true type: object resource_network: title: 'Resource Network' description: 'Networked resource behaviour for an item, including power/fuel consumption, generation, and priority.' properties: is_networked: description: 'Whether the item participates in the ship/station resource network.' type: boolean example: true nullable: true is_relay: description: 'True when the item acts as a relay node.' type: boolean example: false nullable: true default_priority: description: 'Processing priority within the network (higher runs earlier). Commonly 50; fuel tanks use 100.' type: integer example: 50 nullable: true states: description: 'List of available network states and their resource deltas.' type: array items: $ref: '#/components/schemas/resource_network_state' nullable: true repair: description: 'Repair configuration for this networked item.' properties: max_repair_count: description: 'Maximum number of repairs allowed.' type: integer nullable: true time_to_repair: description: 'Time required to perform a repair (seconds).' type: number format: double nullable: true health_ratio: description: 'Health ratio threshold for repair eligibility.' type: number format: double nullable: true type: object nullable: true usage: description: 'Resource usage configuration defining minimum and maximum consumption rates.' properties: power: description: 'Power usage range.' properties: min: description: 'Minimum power usage (game units, typically 2-5).' type: number format: double nullable: true max: description: 'Maximum power usage (game units, typically 2-5).' type: number format: double nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true type: object nullable: true coolant: description: 'Coolant usage range.' properties: min: description: 'Minimum coolant usage.' type: number format: double nullable: true max: description: 'Maximum coolant usage.' type: number format: double nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true type: object nullable: true type: object nullable: true generation: description: 'Resource generation configuration defining production rates.' properties: coolant: description: 'Coolant generation rate.' type: number format: double nullable: true power: description: 'Power generation rate.' type: number format: double nullable: true type: object nullable: true type: object ammunition_damage_falloff: title: 'Ammunition Damage Falloff (v2)' description: 'Legacy damage falloff entry grouped by type. Deprecated in favour of the damage_drop_* fields.' properties: Physical: type: number format: double nullable: true Energy: type: number format: double nullable: true Distortion: type: number format: double nullable: true Thermal: type: number format: double nullable: true Biochemical: type: number format: double nullable: true Stun: type: number format: double nullable: true type: object deprecated: true ammunition: title: Ammunition description: 'Projectile behaviour and damage data from Item.stdItem.Ammunition. Values are taken directly from game data without simulation or derived calculations.' properties: uuid: description: 'Unique identifier for this ammunition type.' type: string nullable: true speed: description: 'Projectile speed in m/s.' type: number format: double example: 600 nullable: true lifetime: description: 'Lifetime in seconds before the projectile despawns.' type: number format: double example: 2 nullable: true range: description: 'Effective range in meters (speed × lifetime when provided by the game).' type: number format: double example: 1200 nullable: true size: description: 'Projectile size used by the game for collision/damage logic.' type: integer example: 1 nullable: true capacity: description: 'Maximum ammo or charge stored in the weapon battery/magazine for this ammo definition.' type: integer example: 80 nullable: true initial_capacity: description: 'Starting ammo or charge loaded when the item spawns.' type: integer example: 80 nullable: true damage_falloff_level_1: description: 'Legacy piercability falloff level 1 value.' type: number format: double example: 0 nullable: true damage_falloff_level_2: description: 'Legacy piercability falloff level 2 value.' type: number format: double example: 0 nullable: true damage_falloff_level_3: description: 'Legacy piercability falloff level 3 value.' type: number format: double example: 0 nullable: true max_penetration_thickness: description: 'Maximum armor or material thickness (m) this round can pierce.' type: number format: double example: 0.5 nullable: true penetration: description: 'Penetration behaviour detailing distance and angle effectiveness.' properties: base_distance: description: 'Base penetration distance.' type: number format: double example: 60 nullable: true near_radius: description: 'Near radius for penetration falloff.' type: number format: double nullable: true far_radius: description: 'Far radius for penetration falloff.' type: number format: double nullable: true angle: description: 'Maximum impact angle (degrees) before ricochet/stop.' type: number format: double example: 14.6 nullable: true type: object nullable: true impact_damage: description: 'Deprecated: Use impact_damage_map instead. Direct hit damage per projectile, split by damage type. Zero values are omitted.' type: array items: $ref: '#/components/schemas/weapon_damage_entry' nullable: true deprecated: true detonation_damage: description: 'Deprecated: Use detonation_damage_map instead. Explosion damage applied on detonation-capable projectiles.' type: array items: $ref: '#/components/schemas/weapon_damage_entry' nullable: true deprecated: true impact_damage_map: description: 'Direct hit damage mapped by snake_case damage type keys (e.g., physical, energy, distortion). Replacement for impact_damage array.' properties: physical: type: number format: double nullable: true energy: type: number format: double nullable: true distortion: type: number format: double nullable: true thermal: type: number format: double nullable: true biochemical: type: number format: double nullable: true stun: type: number format: double nullable: true type: object nullable: true detonation_damage_map: description: 'Explosion damage mapped by snake_case damage type keys. Replacement for detonation_damage array.' properties: physical: type: number format: double nullable: true energy: type: number format: double nullable: true distortion: type: number format: double nullable: true thermal: type: number format: double nullable: true biochemical: type: number format: double nullable: true stun: type: number format: double nullable: true type: object nullable: true explosion_radius: description: 'Minimum and maximum explosion radius for detonation-capable projectiles.' properties: min: description: 'Minimum explosion radius (meters).' type: number format: double nullable: true max: description: 'Maximum explosion radius (meters).' type: number format: double nullable: true type: object nullable: true impulse_scale: description: 'Impulse multiplier applied on impact (engine value).' type: number format: double example: 1 nullable: true bullet_type: description: 'Internal bullet type identifier.' type: integer example: -1 nullable: true damage_drop_min_distance: description: 'Per-type distance (m) before damage falloff begins.' properties: Physical: type: number format: double example: 0 nullable: true Energy: type: number format: double example: 200 nullable: true Distortion: type: number format: double example: 200 nullable: true Thermal: type: number format: double example: 0 nullable: true Biochemical: type: number format: double example: 0 nullable: true Stun: type: number format: double example: 200 nullable: true type: object nullable: true damage_drop_per_meter: description: 'Per-type damage reduction applied each meter after min distance.' properties: Physical: type: number format: double example: 0 nullable: true Energy: type: number format: double example: 0.01 nullable: true Distortion: type: number format: double example: 0.01 nullable: true Thermal: type: number format: double example: 0 nullable: true Biochemical: type: number format: double example: 0 nullable: true Stun: type: number format: double example: 0.01 nullable: true type: object nullable: true damage_drop_min_damage: description: 'Floor values for damage after falloff.' properties: Physical: type: number format: double example: 10 nullable: true Energy: type: number format: double example: 10 nullable: true Distortion: type: number format: double example: 5 nullable: true Thermal: type: number format: double example: 0 nullable: true Biochemical: type: number format: double example: 0 nullable: true Stun: type: number format: double example: 6 nullable: true type: object nullable: true bullet_impulse_falloff: description: 'Impact impulse falloff parameters.' properties: MinDistance: type: number format: double example: 0 nullable: true DropFalloff: type: number format: double example: 0.005 nullable: true MaxFalloff: type: number format: double example: 0.3 nullable: true type: object nullable: true bullet_electron: description: 'Electron chain parameters for weapons that jump between targets.' properties: JumpRange: type: number format: double example: 0 nullable: true MaximumJumps: type: integer example: 0 nullable: true ResidualChargeMultiplier: type: number format: double example: 0 nullable: true type: object nullable: true damage_falloffs: description: 'Deprecated: Use damage_drop* data.' properties: min_distance: oneOf: - $ref: '#/components/schemas/ammunition_damage_falloff' nullable: true per_meter: oneOf: - $ref: '#/components/schemas/ammunition_damage_falloff' nullable: true min_damage: oneOf: - $ref: '#/components/schemas/ammunition_damage_falloff' nullable: true type: object nullable: true deprecated: true piercability: description: 'Deprecated: use damage_falloff_level_* and max_penetration_thickness when present.' type: object nullable: true deprecated: true type: object vehicle_armor: title: 'Vehicle Armor' description: 'Armor characteristics for ship and vehicle hull plating. Signal multipliers affect detectability (values < 1.0 reduce signature for stealth, > 1.0 increase signature). Damage multipliers determine resistance to damage types (lower values = more resistant).' properties: uuid: description: 'Armor item UUID.' type: string nullable: true health: description: 'Armor health points from Durability system.' type: number format: double nullable: true signal_infrared: description: 'Deprecated: Use signal_multiplier.infrared instead. Infrared signature multiplier. Lower values make the ship harder to detect via heat signature.' type: number format: double example: 1 nullable: true deprecated: true signal_electromagnetic: description: 'Deprecated: Use signal_multiplier.electromagnetic instead. Electromagnetic signature multiplier. Lower values provide better EM stealth.' type: number format: double example: 1 nullable: true deprecated: true signal_cross_section: description: 'Deprecated: Use signal_multiplier.cross_section instead. Radar cross-section multiplier. Affects radar detectability.' type: number format: double example: 1 nullable: true deprecated: true damage_physical: description: 'Deprecated: Use damage_multiplier.physical instead. Physical damage multiplier. Typically 0.62, providing 38% damage reduction.' type: number format: double example: 0.62 nullable: true deprecated: true damage_energy: description: 'Deprecated: Use damage_multiplier.energy instead. Energy weapon damage multiplier. Values around 1.0 are neutral.' type: number format: double example: 1 nullable: true deprecated: true damage_distortion: description: 'Deprecated: Use damage_multiplier.distortion instead. Distortion damage multiplier. Typically around 1.0.' type: number format: double example: 1 nullable: true deprecated: true damage_thermal: description: 'Deprecated: Use damage_multiplier.thermal instead. Thermal damage multiplier. Typically 1.0 (neutral, no resistance).' type: number format: double example: 1 nullable: true deprecated: true damage_biochemical: description: 'Deprecated: Use damage_multiplier.biochemical instead. Biochemical damage multiplier. Typically 1.0 (neutral, no resistance).' type: number format: double example: 1 nullable: true deprecated: true damage_stun: description: 'Deprecated: Use damage_multiplier.stun instead. Stun damage multiplier. Typically 0 (complete immunity to stun).' type: number format: double example: 0 nullable: true deprecated: true signal_multiplier: description: 'Grouped signal multipliers affecting detectability. Replacement for individual signal_* fields.' properties: cross_section: description: 'Radar cross-section multiplier.' type: number format: double nullable: true cross_section_change: description: 'Cross-section change from baseline (multiplier - 1). Negative values indicate reduction.' type: number format: double nullable: true infrared: description: 'Infrared signature multiplier. Lower values reduce heat detectability.' type: number format: double nullable: true infrared_change: description: 'Infrared change from baseline (multiplier - 1).' type: number format: double nullable: true electromagnetic: description: 'Electromagnetic signature multiplier. Lower values improve EM stealth.' type: number format: double nullable: true electromagnetic_change: description: 'EM change from baseline (multiplier - 1).' type: number format: double nullable: true type: object nullable: true damage_multiplier: description: 'Grouped damage multipliers determining armor resistance. Lower values = more resistant. Replacement for individual damage_* fields.' properties: physical: description: 'Physical damage multiplier. Typical value 0.62 (38% reduction).' type: number format: double nullable: true physical_change: description: 'Physical resistance change from neutral (multiplier - 1). Negative = more resistant.' type: number format: double nullable: true energy: description: 'Energy damage multiplier.' type: number format: double nullable: true energy_change: description: 'Energy resistance change from neutral.' type: number format: double nullable: true distortion: description: 'Distortion damage multiplier.' type: number format: double nullable: true distortion_change: description: 'Distortion resistance change from neutral.' type: number format: double nullable: true thermal: description: 'Thermal damage multiplier.' type: number format: double nullable: true thermal_change: description: 'Thermal resistance change from neutral.' type: number format: double nullable: true biochemical: description: 'Biochemical damage multiplier.' type: number format: double nullable: true biochemical_change: description: 'Biochemical resistance change from neutral.' type: number format: double nullable: true stun: description: 'Stun damage multiplier. 0 = complete immunity.' type: number format: double nullable: true stun_change: description: 'Stun resistance change from neutral.' type: number format: double nullable: true type: object nullable: true resistance_multiplier: description: 'Durability-based resistance multipliers from stdItem.Durability.Resistance system.' properties: physical: description: 'Physical resistance multiplier from Durability.' type: number format: double nullable: true physical_change: description: 'Physical resistance change from neutral (multiplier - 1).' type: number format: double nullable: true energy: description: 'Energy resistance multiplier from Durability.' type: number format: double nullable: true energy_change: description: 'Energy resistance change from neutral (multiplier - 1).' type: number format: double nullable: true distortion: description: 'Distortion resistance multiplier from Durability.' type: number format: double nullable: true distortion_change: description: 'Distortion resistance change from neutral (multiplier - 1).' type: number format: double nullable: true thermal: description: 'Thermal resistance multiplier from Durability.' type: number format: double nullable: true thermal_change: description: 'Thermal resistance change from neutral (multiplier - 1).' type: number format: double nullable: true biochemical: description: 'Biochemical resistance multiplier from Durability.' type: number format: double nullable: true biochemical_change: description: 'Biochemical resistance change from neutral (multiplier - 1).' type: number format: double nullable: true stun: description: 'Stun resistance multiplier from Durability.' type: number format: double nullable: true stun_change: description: 'Stun resistance change from neutral (multiplier - 1).' type: number format: double nullable: true type: object nullable: true deflection: description: 'Deflection values determining how well armor deflects incoming rounds by type.' properties: physical: description: 'Physical deflection value.' type: number format: double nullable: true energy: description: 'Energy deflection value.' type: number format: double nullable: true distortion: description: 'Distortion deflection value.' type: number format: double nullable: true thermal: description: 'Thermal deflection value.' type: number format: double nullable: true biochemical: description: 'Biochemical deflection value.' type: number format: double nullable: true stun: description: 'Stun deflection value.' type: number format: double nullable: true type: object nullable: true penetration_resistance: description: 'Penetration resistance values determining how well armor resists armor-piercing rounds.' properties: base: description: 'Base penetration resistance value.' type: number format: double nullable: true physical: description: 'Physical penetration resistance.' type: number format: double nullable: true energy: description: 'Energy penetration resistance.' type: number format: double nullable: true distortion: description: 'Distortion penetration resistance.' type: number format: double nullable: true thermal: description: 'Thermal penetration resistance.' type: number format: double nullable: true biochemical: description: 'Biochemical penetration resistance.' type: number format: double nullable: true stun: description: 'Stun penetration resistance.' type: number format: double nullable: true type: object nullable: true type: object bomb: title: Bomb description: 'Explosive bomb specifications including timing, blast radius, and damage characteristics. Bomb properties scale with size class (S3/S5/S10).' properties: arm_time: description: 'Time in seconds after release before the bomb is armed and can detonate. Scales with bomb size (0.5s for S3, 5.0s for S10).' type: number format: double example: 3 nullable: true ignite_time: description: 'Time in seconds between arming and detonation.' type: number format: double example: 0.2 nullable: true collision_delay_time: description: 'Delay in seconds before collision detection becomes active after release.' type: number format: double example: 0.5 nullable: true explosion_safety_distance: description: 'Deprecated: Use explosion.safety_distance instead. Minimum safe distance in meters from the explosion. Typically 50m for all bomb sizes.' type: number format: double example: 50 nullable: true deprecated: true explosion_radius_min: description: 'Deprecated: Use explosion.radius_min instead. Minimum explosion radius in meters. Scales with bomb size (40m for S3, 100m for S5, 250m for S10).' type: number format: double example: 100 nullable: true deprecated: true explosion_radius_max: description: 'Deprecated: Use explosion.radius_max instead. Maximum explosion radius in meters. Typically equal to minimum radius for uniform blast.' type: number format: double example: 100 nullable: true deprecated: true maximum_drop_angle: description: 'Maximum angle in degrees from level flight at which the bomb can be deployed. Typically 90 degrees.' type: number format: double example: 90 nullable: true damage: description: 'Deprecated: use damage_total.' type: number format: double example: 46702 nullable: true deprecated: true damage_total: description: 'Total combined damage from all damage types. Scales dramatically with bomb size (27,000 for S3, 568,297 for S10).' type: number format: double example: 46702 nullable: true damages: description: 'Deprecated: use damage_map.' type: array items: $ref: '#/components/schemas/weapon_damage' nullable: true deprecated: true explosion: description: 'Grouped explosion parameters. Replacement for individual explosion_* fields.' properties: requires_launcher: description: 'Whether the bomb requires a launcher to deploy.' type: boolean nullable: true radius_min: description: 'Minimum explosion radius in meters. Replacement for explosion_radius_min.' type: number format: double nullable: true radius_max: description: 'Maximum explosion radius in meters. Replacement for explosion_radius_max.' type: number format: double nullable: true safety_distance: description: 'Minimum safe distance in meters from the explosion. Replacement for explosion_safety_distance.' type: number format: double nullable: true proximity: description: 'Proximity trigger distance for detonation.' type: number format: double nullable: true type: object nullable: true delays: description: 'Grouped timing parameters for bomb arming and detonation.' properties: arm_time: description: 'Time in seconds after release before the bomb is armed. Same as top-level arm_time.' type: number format: double nullable: true ignite_time: description: 'Time in seconds between arming and detonation. Same as top-level ignite_time.' type: number format: double nullable: true collision_delay_time: description: 'Delay before collision detection becomes active. Same as top-level collision_delay_time.' type: number format: double nullable: true type: object nullable: true damage_map: description: 'Damage values mapped by snake_case damage type keys. Replacement for damages array.' properties: physical: description: 'Physical damage value.' type: number format: double nullable: true energy: description: 'Energy damage value.' type: number format: double nullable: true distortion: description: 'Distortion damage value.' type: number format: double nullable: true thermal: description: 'Thermal damage value.' type: number format: double nullable: true biochemical: description: 'Biochemical damage value.' type: number format: double nullable: true stun: description: 'Stun damage value.' type: number format: double nullable: true type: object nullable: true type: object cargo_grid: title: 'Cargo Grid' description: 'Cargo grid dimensions derived from inventory container data.' properties: x: type: number format: double nullable: true 'y': type: number format: double nullable: true z: type: number format: double nullable: true type: object clothing: title: Clothing description: 'Wearable clothing like shirts, pants, gloves, etc., little to no damage reduction capabilities. Generated from SCItemClothingParams.' properties: clothing_type: description: 'Property is set if resource is of type "clothing". Superseded by type.' type: string nullable: true deprecated: true slot: description: 'Clothing slot derived from the item classification (e.g. Torso, Legs, Arms, Head).' type: string example: Torso nullable: true type: description: 'Clothing type, not actually set in the game data but derived from the item name.' type: string example: T-Shirt nullable: true resistances: description: 'Array of damage resistance entries for this clothing. Each entry includes damage type (physical, energy, distortion, thermal, biochemical, stun), damage multiplier (lower = more resistant), and damage threshold. Only damage types with defined multipliers are included.' type: array items: properties: type: description: 'Damage type (physical, energy, distortion, thermal, biochemical, stun).' type: string example: physical nullable: true multiplier: description: 'Damage multiplier for this resistance. Lower values mean more resistance.' type: number format: double example: 0.5 nullable: true threshold: description: 'Damage threshold value for this resistance type.' type: number format: double example: 10 nullable: true type: object nullable: true temp_resistance_min: description: 'Deprecated: Use temperature_resistance from root.' type: number format: double example: 2 nullable: true deprecated: true temp_resistance_max: description: 'Deprecated: Use temperature_resistance from root.' type: number format: double example: 10 nullable: true deprecated: true radiation_resistance: oneOf: - $ref: '#/components/schemas/radiation_resistance' nullable: true example: maximum_radiation_capacity: 0 radiation_dissipation_rate: 0 gforce_resistance: description: 'G-force tolerance modifier from root. Positive increases tolerance, negative reduces it.' type: number format: double example: -0.125 nullable: true type: object cooler: title: Cooler description: 'Ship cooler specifications including heat dissipation capacity, signature suppression factors, and coolant segment generation.' properties: cooling_rate: description: 'Maximum heat removal capacity (heat units per second). Higher numbers indicate stronger cooling performance. Size 1 military coolers like the Aegis Glacier are around 290,000 while heavy industrial units reach into the tens of millions.' type: number format: double example: 4080000 nullable: true suppression_ir_factor: description: 'Infrared signature multiplier applied while the cooler is operating. Values below 1.0 lower IR output; most production coolers use 0.1 (90% reduction).' type: number format: double example: 0.1 nullable: true suppression_heat_factor: description: 'Overall heat signature multiplier contributed by the cooler. Commonly 0.1, indicating a significant reduction in emitted heat.' type: number format: double example: 0.1 nullable: true coolant_segment_generation: description: 'Coolant segment generation rate from resource network. Use this for actual cooling segment generation.' type: number format: double example: 22 nullable: true type: object counter_measure: title: 'Counter Measure' description: 'Counter measure launcher ammo capacity values derived from stdItem.Ammunition or raw ammo container data.' properties: type: description: 'Counter measure type from WeaponDefensive.Type (e.g., Flare, Chaff, Noise).' type: string nullable: true signature: description: 'Signature values produced by the counter measure when deployed. These represent the false signature emitted to confuse tracking systems.' properties: infrared: description: 'Infrared signature end value emitted by the counter measure.' type: number format: double nullable: true cross_section: description: 'Radar cross-section signature end value emitted by the counter measure.' type: number format: double nullable: true electromagnetic: description: 'Electromagnetic signature end value emitted by the counter measure.' type: number format: double nullable: true decibel: description: 'Audio signature (decibel) end value emitted by the counter measure.' type: number format: double nullable: true type: object nullable: true type: object emp: title: 'EMP Generator' description: 'Electromagnetic pulse generator stats pulled from Item.stdItem.Emp. Values scale with generator size (S1–S4) and determine how quickly the device charges, how hard it hits shields via distortion, and how far the blast reaches.' properties: distortion_damage: description: 'Peak distortion damage applied at the center of the blast. Observed values: 1000 (S1), 1800–2475 (S2–S3), 2750–3300 (S4 variants).' type: number format: double example: 1000 nullable: true emp_radius: description: 'Maximum effective distortion radius in meters. Current items range from 400m (S1) up to 1100m (large ship EMPs).' type: number format: double example: 400 nullable: true min_emp_radius: description: 'Inner radius (m) guaranteed to receive full EMP effect before falloff begins. Presently 150m–250m.' type: number format: double example: 150 nullable: true charge_duration: description: 'Seconds required to fully charge before firing. Current game data ranges 12–26 seconds across EMP sizes.' type: number format: double example: 12 nullable: true unleash_duration: description: 'Duration in seconds the pulse is actively released after charging completes. Values are either 0.75s (small) or 1.5s (large).' type: number format: double example: 0.75 nullable: true cooldown_duration: description: 'Cooldown in seconds before charging can restart. Current data spans 6–40 seconds depending on size and variant.' type: number format: double example: 6 nullable: true type: object flight_controller_boost_capacitor: title: 'Flight Controller Boost Capacitor' description: 'Afterburner (boost) capacitor configuration and regeneration settings.' properties: capacity: description: 'Maximum afterburner capacitor capacity.' type: number format: double example: 20 nullable: true threshold_ratio: description: 'Minimum capacitor fraction required to engage afterburner (0–1).' type: number format: double example: 0.1 nullable: true idle_cost: description: 'Capacitor drain per second while afterburner is armed but not thrusting.' type: number format: double example: 1 nullable: true linear_cost: description: 'Capacitor drain per second for linear afterburner thrust.' type: number format: double example: 0 nullable: true angular_cost: description: 'Capacitor drain per second for angular afterburner thrust.' type: number format: double example: 0 nullable: true regen_per_sec: description: 'Capacitor regeneration rate per second.' type: number format: double example: 0.75 nullable: true regen_delay: description: 'Seconds of delay after disengaging before capacitor regen resumes.' type: number format: double example: 0.2 nullable: true regen_time: description: 'Seconds required to fully regenerate the capacitor from empty (if provided by data).' type: number format: double example: 10 nullable: true type: object flight_controller_boost_activation: title: 'Flight Controller Boost Activation' description: 'Afterburner (boost) activation timings.' properties: pre_delay_time: description: 'Seconds of delay before afterburner thrust begins once activated.' type: number format: double example: 0 nullable: true ramp_up_time: description: 'Seconds to reach full afterburner output.' type: number format: double example: 0.6 nullable: true ramp_down_time: description: 'Seconds to decay from afterburner to normal thrust.' type: number format: double example: 0.2 nullable: true type: object flight_controller_thruster_decay: title: 'Flight Controller Thruster Decay' description: 'Decay rates applied to acceleration.' properties: linear_accel: description: 'Decay rate applied to linear acceleration over time.' type: number format: double example: 6 nullable: true angular_accel: description: 'Decay rate applied to angular acceleration; higher values slow rotational response.' type: number format: double example: 12 nullable: true type: object flight_controller_multiplier: title: 'Flight Controller Multipliers' description: 'Flight model multipliers sourced from IFCS.' properties: torque_imbalance: description: 'Multiplier applied when torque imbalance is detected to stabilize rotation.' type: number format: double example: 0.3 nullable: true lift: description: 'Lift multiplier applied to thruster output.' type: number format: double example: 7 nullable: true drag: description: 'Drag multiplier scaling atmospheric drag calculations.' type: number format: double example: 5 nullable: true scm_max_drag: description: 'Drag multiplier applied specifically while in SCM flight.' type: number format: double example: 4 nullable: true precision_landing: description: 'Multiplier applied to maneuvering inputs during precision landing to soften responses.' type: number format: double example: 0.7 nullable: true type: object flight_controller_signed_axis_multiplier: title: 'Flight Controller Signed Axis Multiplier' description: 'Positive/negative multipliers for a single axis.' properties: positive: description: 'Multiplier for positive thrust on this axis.' type: number format: double example: 1 nullable: true negative: description: 'Multiplier for negative thrust on this axis.' type: number format: double example: 1 nullable: true type: object flight_controller_boost_multiplier: title: 'Flight Controller Boost Multipliers' description: 'Afterburner (boost) multipliers applied to acceleration and angular rates.' properties: accel_x: $ref: '#/components/schemas/flight_controller_signed_axis_multiplier' accel_y: $ref: '#/components/schemas/flight_controller_signed_axis_multiplier' accel_z: $ref: '#/components/schemas/flight_controller_signed_axis_multiplier' pitch: description: 'Angular rate multiplier for pitch.' type: number format: double example: 1 nullable: true yaw: description: 'Angular rate multiplier for yaw.' type: number format: double example: 1 nullable: true roll: description: 'Angular rate multiplier for roll.' type: number format: double example: 1 nullable: true pitch_accel: description: 'Angular acceleration multiplier for pitch.' type: number format: double example: 1 nullable: true yaw_accel: description: 'Angular acceleration multiplier for yaw.' type: number format: double example: 1 nullable: true roll_accel: description: 'Angular acceleration multiplier for roll.' type: number format: double example: 1 nullable: true type: object flight_controller_precision_mode: title: 'Flight Controller Precision Mode' description: 'Precision mode speed caps and distance thresholds.' properties: max_speed_full_proximity_assist: description: 'Precision mode max speed (m/s) with full proximity assist enabled.' type: number format: double example: 10 nullable: true max_speed_zero_proximity_assist: description: 'Precision mode max speed (m/s) when proximity assist is disabled.' type: number format: double example: 30 nullable: true min_distance: description: 'Minimum distance in meters where precision landing assist calculations begin.' type: number format: double example: 5 nullable: true max_distance: description: 'Maximum distance in meters where precision landing assist calculations apply.' type: number format: double example: 50 nullable: true type: object flight_controller_recall_params: title: 'Flight Controller Recall Params' description: 'Automated ship recall approach parameters used by docking AI. Can be null if all values are null.' properties: hover_height_at_destination: description: 'Target hover height in meters when arriving at the recall destination.' type: number format: double example: 30 nullable: true forward_offset: description: 'Forward offset in meters from the destination point where the ship stages before final landing.' type: number format: double example: 20 nullable: true obstruction_detection_range: description: 'Range in meters to scan for obstacles while recalling.' type: number format: double example: 1.2 nullable: true default_platform_detection_range: description: 'Detection radius in meters to locate a viable landing platform.' type: number format: double example: 50 nullable: true minimum_recall_distance: description: 'Minimum distance in meters from the player before recall engages.' type: number format: double example: 400 nullable: true braking_distance_offset: description: 'Extra buffer distance in meters used to start braking during recall approach.' type: number format: double example: 30 nullable: true type: object flight_controller_collision_detection: title: 'Flight Controller Collision Detection' description: 'Collision warning thresholds calculated by IFCS. Can be null if all values are null.' properties: collision_warn_speed: description: 'Relative speed in m/s that triggers a collision warning.' type: number format: double example: 6 nullable: true collision_warn_time: description: 'Seconds until projected impact when general collision warning fires.' type: number format: double example: 4 nullable: true collision_danger_close_warn_time: description: 'Seconds until impact for the urgent/danger-close warning stage.' type: number format: double example: 2 nullable: true type: object flight_controller_gravlev: title: 'Flight Controller Gravlev' description: 'Gravlev-related flight controller settings.' properties: max_speed: description: 'Maximum gravlev hover speed.' type: number format: double example: 30 nullable: true turn_friction: description: 'Turning friction factor for gravlev.' type: number format: double example: 1 nullable: true air_controller_multiplier: description: 'Multiplier for air control when using gravlev.' type: number format: double example: 1 nullable: true anti_fall_multiplier: description: 'Multiplier used to counteract falling behaviour.' type: number format: double example: 1 nullable: true lateral_strafe_multiplier: description: 'Multiplier for lateral strafing while in gravlev mode.' type: number format: double example: 1 nullable: true type: object flight_controller: title: 'Flight Controller' description: 'IFCS (flight controller) performance data sourced from in-game item files.' properties: scm_speed: description: 'Space Combat Maneuvering (cruise) speed in meters per second.' type: number format: double example: 227 nullable: true boost_speed_forward: description: 'Forward boost speed cap in m/s.' type: number format: double example: 470 nullable: true boost_speed_backward: description: 'Reverse boost speed cap in m/s.' type: number format: double example: 240 nullable: true max_speed: description: 'Absolute flight envelope speed cap in m/s.' type: number format: double example: 1230 nullable: true pitch: description: 'Maximum pitch rate in degrees per second.' type: number format: double example: 59 nullable: true yaw: description: 'Maximum yaw rate in degrees per second.' type: number format: double example: 51 nullable: true roll: description: 'Maximum roll rate in degrees per second.' type: number format: double example: 137 nullable: true pitch_boosted: description: 'Derived boosted pitch rate (rounded): pitch * boost_multiplier.pitch (defaults to 1 if missing).' type: integer example: 59 nullable: false yaw_boosted: description: 'Derived boosted yaw rate (rounded): yaw * boost_multiplier.yaw (defaults to 1 if missing).' type: integer example: 51 nullable: false roll_boosted: description: 'Derived boosted roll rate (rounded): roll * boost_multiplier.roll (defaults to 1 if missing).' type: integer example: 137 nullable: false boost_capacitor: $ref: '#/components/schemas/flight_controller_boost_capacitor' boost_activation: $ref: '#/components/schemas/flight_controller_boost_activation' thruster_decay: $ref: '#/components/schemas/flight_controller_thruster_decay' multiplier: $ref: '#/components/schemas/flight_controller_multiplier' boost_multiplier: $ref: '#/components/schemas/flight_controller_boost_multiplier' precision_mode: $ref: '#/components/schemas/flight_controller_precision_mode' recall_params: oneOf: - $ref: '#/components/schemas/flight_controller_recall_params' nullable: true description: 'Ship recall approach parameters.' collision_detection: oneOf: - $ref: '#/components/schemas/flight_controller_collision_detection' nullable: true description: 'Collision warning thresholds.' gravlev: $ref: '#/components/schemas/flight_controller_gravlev' type: object food_nutrition: title: 'Food Nutrition' description: 'Dynamic map of nutrient name (snake_case) to total amount for the item.' type: object additionalProperties: type: number food_effect_durations: title: 'Food Effect Durations' description: 'Dynamic map of effect/buff type (snake_case) to duration in seconds.' type: object additionalProperties: type: number food_container: title: 'Food Container' description: 'Container metadata from stdItem.Food.Container.' properties: type: description: 'Container type identifier.' type: string nullable: true closed: description: 'Whether the container starts closed (if provided).' type: boolean nullable: true can_be_reclosed: description: 'Whether the container can be reclosed after opening.' type: boolean nullable: true discard_when_consumed: description: 'Whether the container is discarded when fully consumed.' type: boolean nullable: true type: object food_consumption: title: 'Food Consumption' description: 'Consumption settings from stdItem.Food.Consumption.' properties: volume: description: 'Consumption volume (unit as defined by game data).' type: number format: double example: 0.25 nullable: true one_shot_consume: description: 'Whether the item is consumed in one action.' type: boolean nullable: true type: object food: title: Food description: 'Consumable food or drink statistics sourced from stdItem.Food and description data.' properties: nutrition: $ref: '#/components/schemas/food_nutrition' buffs: $ref: '#/components/schemas/food_effect_durations' debuffs: $ref: '#/components/schemas/food_effect_durations' container: $ref: '#/components/schemas/food_container' consumption: $ref: '#/components/schemas/food_consumption' nutritional_density_rating: description: 'Nutritional density rating (NDR) from food data or description.' type: string nullable: true hydration_efficacy_index: description: 'Hydration efficacy index (HEI) from food data or description.' type: string nullable: true container_type: description: 'Deprecated. Use `container.type`.' type: string nullable: true deprecated: true one_shot_consume: description: 'Deprecated. Use `consumption.one_shot_consume`.' type: boolean nullable: true deprecated: true can_be_reclosed: description: 'Deprecated. Use `container.can_be_reclosed`.' type: boolean nullable: true deprecated: true discard_when_consumed: description: 'Deprecated. Use `container.discard_when_consumed`.' type: boolean nullable: true deprecated: true effects: description: 'List of effect strings (parsed from food data or description). Null when no effects are present.' type: array items: type: string nullable: true type: object fuel_intake: title: 'Fuel Intake' description: 'Fuel intake flow rates sourced from stdItem.FuelIntake.' properties: fuel_push_rate: type: number format: double nullable: true minimum_rate: type: number format: double nullable: true type: object fuel_tank: title: 'Fuel Tank' description: 'Fuel and quantum fuel tank characteristics.' properties: fill_rate: description: 'Maximum generation/refill rate in standard resource units per second. Typical civilian tanks are 0.25–10.' type: number format: double example: 10 nullable: true drain_rate: description: 'Maximum consumption/usage rate in standard resource units per second.' type: number format: double example: 10 nullable: true capacity: description: 'Maximum fuel capacity in standard resource units.' type: number format: double example: 5000 nullable: true discharge_rate: description: 'Deprecated: Use capacity.' type: number format: double nullable: true deprecated: true type: object grenade_aoe: title: 'Grenade Area of Effect' description: 'Area of effect radii in meters.' properties: min: description: 'Minimum effective/lethal radius in meters.' type: number format: double example: 4 nullable: true max: description: 'Maximum effective/lethal radius in meters.' type: number format: double example: 5.5 nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double example: 4 nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double example: 5.5 nullable: true deprecated: true type: object grenade: title: Grenade description: 'Hand-thrown grenade specs sourced from Item.stdItem.Grenade.' properties: damage_type: description: 'Damage type reported by the grenade payload.' type: string example: Physical nullable: true damage: description: 'Damage value used by the grenade payload.' type: number format: double example: 20 nullable: true aoe: $ref: '#/components/schemas/grenade_aoe' area_of_effect: description: 'Deprecated. Use `aoe.maximum`.' type: number format: double nullable: true deprecated: true type: object hacking_chip: title: 'Hacking Chip' description: 'Cryptokey / hacking chip stats pulled from in-game item definitions. Controls charge count, hack duration scaling, failure risk, and access gating tags applied during missions.' properties: max_charges: description: 'Number of uses before the chip depletes. Current game data sets this to 3 on all chips.' type: integer example: 3 nullable: true duration_multiplier: description: 'Multiplier applied to the base hack duration. Values below 1.0 speed the hack up; values above 1.0 slow it down. Example 0.5 halves the required time.' type: number format: double example: 0.5 nullable: true error_chance: description: 'Probability (0–1) that a hack attempt fails or produces an error. Higher values indicate more risk. Example 0.9 = 90% error chance.' type: number format: double example: 0.9 nullable: true access_tag: description: 'Gameplay access tag required/assigned when the chip is used (e.g., MissionQuestItem to mark mission-only keys).' type: string example: MissionQuestItem nullable: true type: object jump_drive: title: 'Jump Drive' description: '' properties: alignment_rate: type: number format: double nullable: true alignment_decay_rate: type: number format: double nullable: true tuning_rate: type: number format: double nullable: true tuning_decay_rate: type: number format: double nullable: true fuel_usage_efficiency_multiplier: type: number format: double nullable: true type: object medicine: title: Medicine description: 'Medical consumable statistics sourced from stdItem.Medical, reusing the shared container/consumption/nutrition structure.' type: object allOf: - $ref: '#/components/schemas/food' - properties: nutrition: description: 'Dynamic map of nutrient name (snake_case) to total amount.' type: object additionalProperties: type: number debuffs: description: 'Dynamic map of debuff type (snake_case) to duration in seconds.' type: object additionalProperties: type: number container: description: 'Container metadata from stdItem.Medical.Container.' properties: type: description: 'Container type identifier.' type: string nullable: true closed: description: 'Whether the container starts closed (if provided).' type: boolean nullable: true can_be_reclosed: description: 'Whether the container can be reclosed after opening.' type: boolean nullable: true discard_when_consumed: description: 'Whether the container is discarded when fully consumed.' type: boolean nullable: true type: object consumption: description: 'Consumption settings from stdItem.Medical.Consumption.' properties: volume: description: 'Consumption volume (unit as defined by game data).' type: number format: double example: 0.25 nullable: true one_shot_consume: description: 'Whether the item is consumed in one action.' type: boolean nullable: true type: object combat_buffs: description: 'Dynamic map of combat buff flags (derived from MedicalEffects.CombatBuffs). Keys are normalized (snake_case, without `_mask`). Values are boolean flags.' type: object additionalProperties: type: boolean impact_resistances: description: 'Dynamic map of impact resistance flags (derived from MedicalEffects.ImpactResistance). Keys are normalized (snake_case, without `impact_resistance_` or `_mask`). Values are boolean flags.' type: object additionalProperties: type: boolean type: object melee_weapon_attack_damages: title: 'Melee Weapon Attack Damages' description: 'Damage breakdown for a melee attack mode.' properties: physical: type: number format: double example: 30 nullable: true energy: type: number format: double example: 0 nullable: true distortion: type: number format: double example: 0 nullable: true thermal: type: number format: double example: 0 nullable: true biochemical: type: number format: double example: 0 nullable: true stun: type: number format: double example: 0 nullable: true type: object melee_weapon_attack_mode: title: 'Melee Weapon Attack Mode' description: 'Single attack configuration as returned by the resource.' properties: category: type: string example: BladeSlash nullable: true damage: description: 'Total damage value (DamageTotal).' type: number format: double example: 30 nullable: true stun_recovery_modifier: type: number format: double example: 0 nullable: true block_stun_reduction_modifier: type: number format: double example: 0 nullable: true block_stun_stamina_modifier: type: number format: double example: 0 nullable: true attack_impulse: type: number format: double example: 20 nullable: true ignore_body_part_impulse_scale: type: boolean example: false nullable: true force_knockdown: type: string example: None nullable: true damages: $ref: '#/components/schemas/melee_weapon_attack_damages' type: object melee_weapon: title: 'Melee Weapon' description: 'Melee weapon specification sourced from Item.stdItem.MeleeWeapon (or meleeWeapon).' properties: can_be_used_for_take_down: type: boolean example: true nullable: true can_block: type: boolean example: true nullable: true can_be_used_in_prone: type: boolean example: false nullable: true can_dodge: type: boolean example: true nullable: true stance_transition_melee_delay: type: number format: double example: 0.6 nullable: true melee_combat_config: description: 'UUID reference to the melee combat config record.' type: string example: da909c53-195a-4289-8466-ecb4c418f930 nullable: true attack_modes: description: 'Attack configurations as returned by the resource.' type: array items: $ref: '#/components/schemas/melee_weapon_attack_mode' nullable: true type: object mining_laser_power_band: title: 'Mining Laser Power Band' description: 'Minimum/maximum laser power values as provided by stdItem.MiningLaser.' properties: min: description: 'Minimum power transfer (MinPowerTransfer).' type: number format: double example: 420 nullable: true max: description: 'Maximum power transfer (PowerTransfer).' type: number format: double example: 2100 nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double example: 420 nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double example: 2100 nullable: true deprecated: true type: object mining_laser_modifier: title: 'Mining Laser Modifier' description: 'Single modifier entry derived from the modifier block (only emitted when value is not null).' properties: name: description: 'Internal modifier key.' type: string example: optimal_charge_rate nullable: false display_name: description: 'Human-readable name derived from the key.' type: string example: 'Optimal Charge Rate' nullable: false value: description: 'Numeric modifier value (percentage points where applicable).' type: number format: double example: -40 nullable: false type: object mining_laser: title: 'Mining Laser' description: 'Mining laser specifications sourced from stdItem.MiningLaser. Includes power band, ranges, extraction throughput, throttle handling, modifiers, and module slots. Legacy v2 fields are still returned for backward compatibility (marked deprecated).' properties: laser_power: $ref: '#/components/schemas/mining_laser_power_band' modifiers: description: 'Deprecated: Use modifier_map. List of non-null gameplay modifiers derived from stdItem.MiningLaser.Modifiers.' type: array items: $ref: '#/components/schemas/mining_laser_modifier' deprecated: true module_slots: description: 'Number of mining module/consumable slots (ModuleSlots).' type: integer example: 2 nullable: true throttle_lerp_speed: description: 'Throttle lerp speed (ThrottleLerpSpeed).' type: number format: double example: 6.5 nullable: true throttle_minimum: description: 'Minimum throttle value (ThrottleMinimum).' type: number format: double example: 0.1 nullable: true power_transfer: description: 'Deprecated. Use `laser_power.maximum`.' type: number format: double example: 2100 nullable: true deprecated: true mining_laser_power: description: 'Deprecated. Use `laser_power.minimum` and `laser_power.maximum` (this is a formatted string range).' type: string example: '420 - 2100' nullable: true deprecated: true modifier_map: type: object nullable: false additionalProperties: type: number extraction_laser_power: description: 'Deprecated. Prefer `extraction_throughput` when available (this value is taken from description text).' type: string example: '2775' nullable: true deprecated: true optimal_range: description: 'Optimal mining distance in meters (OptimalRange).' type: number format: double example: 45 nullable: true maximum_range: description: 'Maximum effective range in meters (MaximumRange).' type: number format: double example: 135 nullable: true extraction_throughput: description: 'Extraction throughput metric (ExtractionThroughput).' type: number format: double example: 2775 nullable: true type: object mining_modifier_value: title: 'Mining Modifier Value' description: 'Modifier values are returned as-is from game data and may be numeric or string-encoded (for example with %).' oneOf: - type: number format: double - type: string mining_modifier_map: title: 'Mining Modifier Map' description: 'Map of modifier keys to values.' type: object additionalProperties: $ref: '#/components/schemas/mining_modifier_value' mining_modifier: title: 'Mining Modifiers & Mining Gadgets' description: 'Mining module/gadget specification sourced from stdItem.MiningModule. Includes type, charge/duration metadata, an optional power modifier, and a legacy modifier map.' properties: type: description: 'Modifier type (from MiningModule.Type).' type: string example: Active nullable: true item_type: description: 'Derived from classification: `Gadget` when classification is `Mining.Gadget`, otherwise `Module`.' type: string enum: - Gadget - Module example: Module nullable: true charges: description: 'Remaining charges (MiningModule.Charges). `null` when the source value is -1 (unlimited).' type: integer example: 3 nullable: true duration: description: 'Lifetime/duration in seconds (MiningModule.Lifetime).' type: number format: double example: 60 nullable: true power_modifier: description: 'Power modifier value from Modifiers.DamageMultiplierChange. Returned as-is from the source data.' example: 1.1 nullable: true oneOf: - type: number format: double - type: string modifier_map: $ref: '#/components/schemas/mining_modifier_map' type: object mining_module: title: 'Mining Module' description: 'Deprecated: Use mining_modifier instead.' properties: type: type: string example: 'Mining Module (Active)' nullable: true deprecated: true module_type: type: string example: Active nullable: true deprecated: true usage: description: 'Usability details sourced from Item.stdItem.MiningModule (charges/lifetime) and Item.stdItem.DescriptionData (uses/duration).' properties: charges: description: 'Total activations provided by the module.' type: integer example: 6 nullable: true deprecated: true lifetime_seconds: description: 'Lifetime in seconds a module remains effective once installed.' type: number format: double example: 60 nullable: true deprecated: true uses: description: 'Number of activations before a consumable expires. Observed range: 3–10.' type: integer example: 6 nullable: true deprecated: true duration_seconds: description: 'Active duration per use in seconds. Observed range: 15–60.' type: number format: double example: 30 nullable: true deprecated: true type: object nullable: true deprecated: true charges: description: 'Deprecated: use usage.charges.' type: integer example: 5 nullable: true deprecated: true lifetime_seconds: description: 'Deprecated: use usage.lifetime_seconds.' type: number format: double example: 3600 nullable: true deprecated: true uses: description: 'Deprecated: use usage.uses.' type: integer example: 5 nullable: true deprecated: true duration_seconds: description: 'Deprecated: use usage.duration_seconds.' type: number format: double example: 60 nullable: true deprecated: true modifiers: description: 'Gameplay-impacting modifiers applied while the module is active or installed.' properties: mining_laser_power_percent: description: 'Multiplicative change to mining laser power. 150 boosts power by 50%; 85 lowers by 15%.' type: number format: double example: 135 nullable: true deprecated: true extraction_laser_power_percent: description: 'Multiplier on extraction beam power. Lower values mean slower extraction but often reduce inert material.' type: number format: double example: 95 nullable: true deprecated: true optimal_charge_window_percent: description: 'Change to the size of the optimal (green) window. Positive widens, negative shrinks. Range seen: -10 to +40.' type: number format: double example: 40 nullable: true deprecated: true optimal_charge_rate_percent: description: 'Change to the ideal charge rate speed. Higher values speed charging; negatives slow it. Range seen: -20 to +60.' type: number format: double example: 60 nullable: true deprecated: true all_charge_rates_percent: description: 'Flat multiplier to all charge-rate bands when present. Range seen: +5 to +24.' type: number format: double example: 24 nullable: true deprecated: true inert_material_modifier_percent: description: 'Reduction to inert material collected. Positive values in data mean less inert material (e.g., 6, 24).' type: number format: double example: 24 nullable: true deprecated: true resistance_percent: description: 'Change to deposit resistance (hardness). Positive makes rock more resistant; negative softens. Range seen: -24.8 to +15.5.' type: number format: double example: -15 nullable: true deprecated: true instability_percent: description: 'Change to laser instability. Negative stabilizes, positive increases jitter. Range seen: -20 to +10.' type: number format: double example: -10 nullable: true deprecated: true shatter_damage_percent: description: 'Change to damage taken when the rock shatters. Negative reduces hazard; positive increases. Range seen: -30 to +40.' type: number format: double example: -30 nullable: true deprecated: true overcharge_rate_percent: description: 'Change to catastrophic/overcharge rate. Negative lowers risk, positive increases. Range seen: -80 to +60.' type: number format: double example: -60 nullable: true deprecated: true cluster_factor: description: 'Scaling applied to cluster-related calculations for fracture/extraction when present.' type: number format: double example: 1.35 nullable: true deprecated: true damage_multiplier: description: 'General damage multiplier used by modules. Observed range: 0.85–1.50.' type: number format: double example: 1.35 nullable: true deprecated: true type: object nullable: true deprecated: true type: object deprecated: true missile_rack: title: 'Missile Rack' description: 'Missile rack capacity derived from port configuration.' properties: missile_count: type: integer nullable: true missile_size: type: integer nullable: true type: object missile_flight: title: 'Missile Flight' description: 'Missile flight performance and phase timings.' properties: enable_lifetime: description: 'Whether the maximum lifetime limit is enforced.' type: boolean example: true nullable: true max_lifetime: description: 'Maximum flight time in seconds before missile self-destructs.' type: number format: double example: 15 nullable: true range: description: 'Maximum travel distance/range as provided by the source data.' type: number format: double example: 10000 nullable: true speed: description: 'Linear cruise velocity in meters per second (LinearSpeed).' type: number format: double example: 1372 nullable: true boost_speed: description: 'Initial boost phase velocity in meters per second (BoostSpeed).' type: number format: double example: 165 nullable: true intercept_speed: description: 'Intercept phase speed in meters per second (InterceptSpeed).' type: number format: double example: 400 nullable: true terminal_speed: description: 'Terminal phase speed in meters per second (TerminalSpeed).' type: number format: double example: 475 nullable: true boost_phase_duration: description: 'Duration of the boost phase in seconds (BoostPhaseDuration).' type: number format: double example: 1.5 nullable: true terminal_phase_engagement_time: description: 'Seconds before impact when terminal phase activates (TerminalPhaseEngagementTime).' type: number format: double example: 5 nullable: true terminal_phase_engagement_angle: description: 'Maximum engagement angle in degrees for terminal phase (TerminalPhaseEngagementAngle).' type: number format: double example: 35 nullable: true fuel_tank_size: description: 'Fuel capacity in arbitrary units (FuelTankSize).' type: number format: double example: 25000 nullable: true type: object missile_target_lock: title: 'Missile Target Lock' description: 'Target lock acquisition and countermeasure resilience parameters.' properties: signal_resilience_min: description: 'Minimum countermeasure resistance factor.' type: number format: double example: 1 nullable: true signal_resilience_max: description: 'Maximum countermeasure resistance factor.' type: number format: double example: 1.7 nullable: true range_max: description: 'Maximum lock acquisition range in meters.' type: number format: double example: 10000 nullable: true range_min: description: 'Minimum lock acquisition range in meters.' type: number format: double example: 1700 nullable: true angle: description: 'Maximum lock acquisition angle in degrees (cone of acquisition).' type: number format: double example: 60 nullable: true signal_amplifier: description: 'Signal amplification factor applied during lock acquisition.' type: number format: double example: 2.5 nullable: true increase_rate: description: 'Rate at which lock strength increases per second.' type: number format: double example: 1.6 nullable: true allow_dumb_firing: description: 'Whether the missile can be manually fired without a target lock.' type: boolean example: true nullable: true type: object missile_explosion: title: 'Missile Explosion' description: 'Explosion/warhead behavior including cluster properties, radius, and proximity settings.' properties: is_cluster: description: 'Whether this missile splits into multiple submunitions during flight.' type: boolean example: false nullable: true cluster_size: description: 'Number of submunitions released when the missile splits (when applicable).' type: number example: 3 nullable: true requires_launcher: description: 'Whether the missile must be fired from a dedicated launcher/rack.' type: boolean example: true nullable: true allow_dumb_firing: description: 'Whether the missile can be fired without a lock.' type: boolean example: true nullable: true radius_min: description: 'Minimum explosion damage radius in meters.' type: number format: double example: 1 nullable: true radius_max: description: 'Maximum explosion damage radius in meters.' type: number format: double example: 2 nullable: true safety_distance: description: 'Minimum safe distance in meters from the explosion center.' type: number format: double example: 2 nullable: true proximity: description: 'Proximity fuse / projectile proximity value (as provided by source data).' type: number format: double example: 0 nullable: true type: object missile_delays: title: 'Missile Delays' description: 'Arming/ignition/collision and lock timing delays.' properties: arm_time: description: 'Time in seconds after launch before warhead arms.' type: number format: double example: 0.8 nullable: true ignite_time: description: 'Delay in seconds between launch and engine ignition.' type: number format: double example: 0.1 nullable: true collision_delay_time: description: 'Delay in seconds before collision detection is active after launch.' type: number format: double example: 0.5 nullable: true lock_time: description: 'Time in seconds required to establish a target lock.' type: number format: double example: 0.5 nullable: true type: object missile_damage_map: title: 'Missile Damage Map' description: 'Map of damage type to value. Only non-null damage types are included; null when no damage values are present.' type: object additionalProperties: type: number missile: title: Missile description: 'Missile specifications sourced from stdItem.Missile.' properties: cluster_size: description: 'Deprecated. Use `explosion.cluster_size`.' type: number example: 3 nullable: true deprecated: true signal_type: description: 'Type of tracking signal used for target acquisition.' type: string example: CrossSection nullable: true tracking_signal_min: description: 'Minimum target signal strength required for tracking.' type: number format: double example: 4 nullable: true lock_time: description: 'Deprecated. Use `delays.lock_time`.' type: number format: double example: 0.5 nullable: true deprecated: true lock_range_max: description: 'Deprecated. Use `target_lock.range_max`.' type: number format: double example: 10000 nullable: true deprecated: true lock_range_min: description: 'Deprecated. Use `target_lock.range_min`.' type: number format: double example: 1700 nullable: true deprecated: true lock_angle: description: 'Deprecated. Use `target_lock.angle`.' type: number format: double example: 60 nullable: true deprecated: true speed: description: 'Deprecated. Use `flight.speed`.' type: number format: double example: 1372 nullable: true deprecated: true fuel_tank_size: description: 'Deprecated. Use `flight.fuel_tank_size`.' type: number format: double example: 25000 nullable: true deprecated: true explosion_radius_min: description: 'Deprecated. Use `explosion.radius_min`.' type: number format: double example: 1 nullable: true deprecated: true explosion_radius_max: description: 'Deprecated. Use `explosion.radius_max`.' type: number format: double example: 2 nullable: true deprecated: true flight: $ref: '#/components/schemas/missile_flight' target_lock: $ref: '#/components/schemas/missile_target_lock' explosion: $ref: '#/components/schemas/missile_explosion' delays: $ref: '#/components/schemas/missile_delays' damage_total: description: 'Total combined damage from all damage types.' type: number format: double example: 1075 nullable: true damages: description: 'Deprecated. Use `damage_map`.' type: array items: $ref: '#/components/schemas/weapon_damage' nullable: true deprecated: true damage_map: oneOf: - $ref: '#/components/schemas/missile_damage_map' nullable: true description: 'Map of damage types to values (preferred representation).' type: object personal_weapon_mode: title: 'Personal Weapon Mode' description: 'Fire mode entries as returned by the game data mapping. Type-specific fields are only present when the mode type matches.' properties: mode: description: 'Mode name (Modes[].Name).' type: string example: Rapid nullable: true localised: description: 'Localized label (Modes[].LocalisedName).' type: string example: '[AUTO]' nullable: true type: description: 'Fire type (Modes[].FireType).' type: string example: rapid nullable: true rpm: description: 'Rounds per minute (Modes[].RoundsPerMinute).' type: number format: double example: 925 nullable: true ammo_per_shot: description: 'Ammo consumed per shot (Modes[].AmmoPerShot).' type: integer example: 1 nullable: true pellets_per_shot: description: 'Pellets per shot (Modes[].PelletsPerShot).' type: integer example: 12 nullable: true damage_per_second: description: 'Mode DPS as provided (Modes[].DamagePerSecond).' type: number format: double example: 0 nullable: true heat_per_shot: description: 'Heat generated per shot (projectile modes).' type: number format: double nullable: true wear_per_shot: description: 'Durability lost per shot (projectile modes).' type: number format: double nullable: true heat_per_second: description: 'Heat generated per second (beam / continuous-fire modes).' type: number format: double nullable: true wear_per_second: description: 'Durability lost per second (beam / continuous-fire modes).' type: number format: double nullable: true fire_during_spin_up: description: 'Whether the weapon fires during barrel spin-up (rapid mode).' type: boolean nullable: true shot_count: description: 'Number of shots per burst (burst mode).' type: integer nullable: true cooldown_time: description: 'Cooldown time between bursts in seconds (burst mode).' type: number format: double nullable: true sequence_mode: description: 'Sequence mode identifier (sequence mode).' type: string nullable: true charge_up_time: description: 'Beam spool-up time in seconds (beam mode).' type: number format: double nullable: true charge_down_time: description: 'Beam spool-down time in seconds (beam mode).' type: number format: double nullable: true full_damage_range: description: 'Range at which full damage is applied (beam mode).' type: number format: double nullable: true zero_damage_range: description: 'Range at which damage drops to zero (beam mode).' type: number format: double nullable: true hit_type: description: 'Beam hit registration type (beam mode).' type: string nullable: true hit_radius: description: 'Beam impact radius (beam / salvage mode).' type: number format: double nullable: true min_energy_draw: description: 'Minimum power draw (beam / salvage mode).' type: number format: double nullable: true max_energy_draw: description: 'Maximum power draw (beam / salvage mode).' type: number format: double nullable: true healing_mode: description: 'Healing mode identifier (healingbeam mode).' type: string nullable: true healing_per_second: description: 'SCU healed per second (healingbeam mode).' type: number format: double nullable: true ammo_per_mscu: description: 'Ammo consumed per medical SCU (healingbeam mode).' type: number format: double nullable: true medical_ammo_type: description: 'Medical ammo type tag (healingbeam mode).' type: string nullable: true external_healing: description: 'External healing mode (healingbeam mode).' type: string nullable: true toggle: description: 'Toggle mode flag (healingbeam mode).' type: boolean nullable: true max_distance: description: 'Maximum healing distance (healingbeam mode).' type: number format: double nullable: true max_sensor_distance: description: 'Maximum sensor range for target detection (healingbeam mode).' type: number format: double nullable: true auto_dosage_modifier: description: 'Auto-dosage BDL modifier (healingbeam mode).' type: number format: double nullable: true healing_break_time: description: 'Time before healing breaks in seconds (healingbeam mode).' type: number format: double nullable: true max_dose_for_auto_adjustment: description: 'Max dose for auto-adjustment (healingbeam mode).' type: number format: double nullable: true battery_drain_per_second: description: 'Battery drain per second (healingbeam mode).' type: number format: double nullable: true material_efficiency: description: 'Material recovery rate (salvage mode).' type: number format: double nullable: true max_health_repair_rate: description: 'Max hull repair rate (salvage mode).' type: number format: double nullable: true max_damage_map_repair_rate: description: 'Max damage-map repair rate (salvage mode).' type: number format: double nullable: true health_to_ammo_ratio: description: 'Health restored per ammo unit (salvage mode).' type: number format: double nullable: true ramp_up_time: description: 'Beam ramp-up time in seconds (salvage mode).' type: number format: double nullable: true ramp_down_time: description: 'Beam ramp-down time in seconds (salvage mode).' type: number format: double nullable: true max_vehicle_damage_ratio: description: 'Max vehicle damage ratio (salvage mode).' type: number format: double nullable: true repaired_material_ratio: description: 'Ratio of repaired material (salvage mode).' type: number format: double nullable: true salvage_can_fire_on_full: description: 'Can fire when target is at full health (salvage mode).' type: boolean nullable: true damage_threshold: description: 'Damage threshold for salvage operations (salvage mode).' type: number format: double nullable: true minimum_distance: description: 'Minimum mining distance (collectionbeam mode).' type: number format: double nullable: true maximum_distance: description: 'Maximum mining distance (collectionbeam mode).' type: number format: double nullable: true beam_radius: description: 'Collection beam radius (collectionbeam mode).' type: number format: double nullable: true collection_rate: description: 'Ore collection rate (collectionbeam mode).' type: number format: double nullable: true energy_draw: description: 'Power consumption (collectionbeam mode).' type: number format: double nullable: true mining_extractor_tag: description: 'Extractor classification tag (collectionbeam mode).' type: string nullable: true toggle_mode: description: 'Toggle mode flag (tractorbeam mode).' type: boolean nullable: true type: object personal_weapon_damage_vector: title: 'Personal Weapon Damage Vector' description: 'Damage values broken down by damage type.' properties: physical: type: number format: double example: 11.5 nullable: true energy: type: number format: double example: 0 nullable: true distortion: type: number format: double example: 0 nullable: true thermal: type: number format: double example: 0 nullable: true biochemical: type: number format: double example: 0 nullable: true stun: type: number format: double example: 0 nullable: true type: object personal_weapon_damage: title: 'Personal Weapon Damage' description: 'Weapon damage totals and per-type breakdowns from Weapon.Damage.' properties: dps_total: type: number format: double example: 1150 nullable: true alpha_total: type: number format: double example: 11.5 nullable: true max: description: 'Maximum damage per magazine (Damage.MaxPerMag).' type: number format: double example: 575 nullable: true maximum: description: 'Deprecated: Use max.' type: number format: double example: 575 nullable: true deprecated: true dps: oneOf: - $ref: '#/components/schemas/personal_weapon_damage_vector' nullable: true alpha: oneOf: - $ref: '#/components/schemas/personal_weapon_damage_vector' nullable: true type: object personal_weapon_spread: title: 'Personal Weapon Spread' description: 'Spread configuration. Only present when spread data exists in the source.' properties: min: type: number format: double example: 0.1 nullable: true max: type: number format: double example: 1.2 nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double example: 0.1 nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double example: 1.2 nullable: true deprecated: true first_attack: type: number format: double example: 0.2 nullable: true per_attack: type: number format: double example: 0.05 nullable: true decay: type: number format: double example: 0.3 nullable: true type: object personal_weapon_charge: title: 'Personal Weapon Charge' description: 'Charge timings. Only present when charge data exists in the source.' properties: time: type: number format: double example: 1 nullable: true overcharge_time: type: number format: double example: 0.5 nullable: true overcharged_time: type: number format: double example: 0.5 nullable: true cooldown_time: type: number format: double example: 1 nullable: true auto_fire: description: 'Auto-fire when fully charged.' type: boolean nullable: true require_full_charge: description: 'Must be fully charged before firing.' type: boolean nullable: true auto_charge: description: 'Auto-charges when held.' type: boolean nullable: true interpolate_bonus: description: 'Interpolates charge bonus linearly.' type: boolean nullable: true type: object personal_weapon_charge_modifier: title: 'Personal Weapon Charge Modifier' description: 'Charge modifiers. Only present when charge data exists in the source.' properties: damage: type: number format: double example: 1 nullable: true fire_rate: type: number format: double example: 1 nullable: true ammo_speed: type: number format: double example: 1 nullable: true fire_rate_override: description: 'Override fire rate at full charge.' type: number format: double nullable: true pellets_override: description: 'Override pellet count at full charge.' type: integer nullable: true burst_shots_override: description: 'Override burst shot count at full charge.' type: integer nullable: true heat_multiplier: description: 'Heat generation multiplier at full charge.' type: number format: double nullable: true type: object personal_weapon: title: 'Personal Weapon' description: 'FPS weapon specification sourced from Item.stdItem.Weapon and Item.stdItem.Ammunition for WeaponPersonal items. Legacy v2 fields are preserved and marked deprecated.' properties: class: description: 'Class as provided by DescriptionData.Class.' type: string example: Medium nullable: true type: description: 'Type as provided by DescriptionData.Item Type.' type: string example: Rifle nullable: true magazine_type: description: 'Deprecated: legacy field, currently returned as an empty string; do not use.' type: string nullable: true deprecated: true magazine_size: description: 'Deprecated: use `capacity`.' type: integer example: 50 nullable: true deprecated: true effective_range: description: 'Deprecated: use `range`.' type: number format: double example: 950 nullable: true deprecated: true capacity: description: 'Weapon capacity (Weapon.Capacity).' type: integer example: 50 nullable: true range: description: 'Effective range in meters (Weapon.EffectiveRange).' type: number format: double example: 950 nullable: true damage_per_shot: description: 'Deprecated: use `damage.alpha_total` (or per-type `damage.alpha.*`) instead.' type: number format: double example: 11.5 nullable: true deprecated: true pellets_per_shot: description: 'Pellets per shot (Weapon.PelletsPerShot).' type: integer example: 12 nullable: true rof: description: 'Deprecated: use `rpm`.' type: number format: double example: 925 nullable: true deprecated: true rpm: description: 'Rounds per minute for the first mode (Modes[0].RoundsPerMinute).' type: number format: double example: 925 nullable: true damages: description: 'Deprecated: legacy ammunition-derived entries. Prefer `damage` for weapon damage totals/breakdowns.' type: array items: $ref: '#/components/schemas/weapon_damage_entry' nullable: true deprecated: true modes: description: 'Fire modes returned from Weapon.Modes.' type: array items: $ref: '#/components/schemas/personal_weapon_mode' nullable: true fire_mode: description: 'Weapon fire mode (Weapon.FireMode).' type: string example: Auto nullable: true damage: $ref: '#/components/schemas/personal_weapon_damage' spread: oneOf: - $ref: '#/components/schemas/personal_weapon_spread' nullable: true ads_spread: oneOf: - $ref: '#/components/schemas/personal_weapon_spread' nullable: true charge: oneOf: - $ref: '#/components/schemas/personal_weapon_charge' nullable: true charge_modifier: oneOf: - $ref: '#/components/schemas/personal_weapon_charge_modifier' nullable: true ammunition: description: 'Deprecated: use the root-level ammunition resource (outside this specification payload) where available.' type: object nullable: true deprecated: true type: object weapon_damage_entry: title: 'Weapon Damage Entry' description: 'Legacy ammo-derived damage entry.' properties: type: description: 'Damage context.' type: string example: impact nullable: true name: description: 'Damage type name.' type: string example: physical nullable: true damage: type: number format: double example: 11.5 nullable: true type: object power_plant: title: 'Power Plant' description: 'Power plant specifications including power output and segment generation from resource network.' properties: power_output: type: number format: double nullable: true power_segment_generation: description: 'Power segment generation rate from resource network. Use this for actual power segment generation.' type: number format: double example: 1000 nullable: true type: object quantum_drive_jump_profile: title: 'Quantum Drive Jump Profile' description: 'Jump profile settings for quantum travel modes (StandardJump/SplineJump). Values mirror stdItem.QuantumDrive.[StandardJump|SplineJump] in game data.' properties: drive_speed: description: 'Max cruise velocity for the jump profile (m/s). Standard jumps range ~138,000,000–876,000,000; spline jumps ~400,000–500,000.' type: number format: double example: 218000000 nullable: true cooldown_time: description: 'Cooldown after exit in seconds; dataset ranges 0–92.07.' type: number format: double example: 41.4 nullable: true stage_one_accel_rate: description: 'Initial acceleration phase (m/s²). Standard ~1.75M; spline as low as 250.' type: number format: double example: 1750000 nullable: true stage_two_accel_rate: description: 'Secondary acceleration phase (m/s²). Standard up to 11,000,000; spline around 50,000.' type: number format: double example: 11000000 nullable: true engage_speed: description: 'Minimum ship speed to engage QT (m/s).' type: number format: double example: 1500 nullable: true interdiction_effect_time: description: 'Duration of interdiction effect (seconds).' type: number format: double example: 5 nullable: true calibration_rate: description: 'Calibration progress per second.' type: number format: double example: 1000 nullable: true min_calibration_requirement: description: 'Minimum calibration distance gate.' type: number format: double example: 5000 nullable: true max_calibration_requirement: description: 'Maximum calibration distance gate.' type: number format: double example: 10000 nullable: true calibration_process_angle_limit: description: 'Angular tolerance during calibration (degrees).' type: number format: double example: 5 nullable: true calibration_warning_angle_limit: description: 'Warning threshold for calibration cone (degrees).' type: number format: double example: 8 nullable: true calibration_delay_in_seconds: description: 'Delay applied before calibration proceeds (seconds).' type: number format: double example: 1.5 nullable: true spool_up_time: description: 'Time to spool from idle to ready (seconds).' type: number format: double example: 6 nullable: true type: object quantum_drive_thermal_energy_draw: title: 'Quantum Drive Thermal Energy Draw' description: 'Thermal energy draw (heat units/s) for each quantum travel phase.' properties: pre_ramp_up: type: number format: double example: 8700 nullable: true ramp_up: type: number format: double example: 8700 nullable: true in_flight: type: number format: double example: 8700 nullable: true ramp_down: type: number format: double example: 8700 nullable: true post_ramp_down: type: number format: double example: 8700 nullable: true type: object quantum_drive_travel_time_10gm: title: 'Quantum Drive Travel Time 10GM' description: 'Travel time for a 10GM reference distance as provided by the source data.' properties: seconds: description: 'Travel time in seconds.' type: number format: double example: 56 nullable: true formatted: description: 'Formatted travel time string.' type: string example: '00:56' nullable: true type: object quantum_drive: title: 'Quantum Drive' description: 'Quantum drive performance taken from stdItem.QuantumDrive in game data, including fuel usage, jump ranges, thermal draw, jump profiles, and derived mode listings.' properties: quantum_fuel_requirement: description: 'Total quantum fuel consumed to complete a spool (QuantumFuelRequirement).' type: number format: double example: 0.006758 nullable: true fuel_rate: description: 'Continuous quantum fuel burn per meter travelled (FuelRate).' type: number format: double example: 6.758E-9 nullable: true jump_range: description: 'Maximum permitted quantum jump distance in meters (JumpRange).' type: number format: double example: 3.402823E+38 nullable: true disconnect_range: description: 'Automatic disengage distance when approaching destination in meters (DisconnectRange).' type: number format: double example: 34693 nullable: true thermal_energy_draw: $ref: '#/components/schemas/quantum_drive_thermal_energy_draw' standard_jump: $ref: '#/components/schemas/quantum_drive_jump_profile' spline_jump: $ref: '#/components/schemas/quantum_drive_jump_profile' modes: description: 'List of jump profiles with an explicit mode identifier.' type: array items: $ref: '#/components/schemas/quantum_drive_jump_profile' fuel_consumption_scu_per_gm: description: 'Fuel consumption in SCU per GM (FuelConsumptionSCUPerGM).' type: number format: double example: 0.12 nullable: true fuel_efficiency: description: 'Fuel efficiency in GM per SCU (FuelEfficiencyGMPerSCU).' type: number format: double example: 8.3 nullable: true travel_time_10gm: $ref: '#/components/schemas/quantum_drive_travel_time_10gm' type: object quantum_interdiction_generator_power_fractions: title: 'Quantum Interdiction Generator Power Fractions' description: 'Fractions of the generator total power budget reserved for base/idle, pulse, and jammer phases.' properties: base: type: number format: double example: 0.2 nullable: true pulse: type: number format: double example: 0.8 nullable: true jammer: type: number format: double example: 0.4 nullable: true type: object quantum_interdiction_generator_jamming: title: 'Quantum Interdiction Generator Jamming' description: 'Continuous interdiction field used to yank ships out of quantum travel.' properties: range: description: 'Effective jamming radius in meters.' type: number format: double example: 12000 nullable: true max_power_draw: description: 'Peak power draw while the jammer is active.' type: number format: double example: 200 nullable: true green_zone_check_range: description: 'Safety buffer around restricted areas.' type: number format: double example: 4000 nullable: true type: object quantum_interdiction_generator_pulse: title: 'Quantum Interdiction Generator Pulse' description: 'Quantum interdiction pulse (QIP) burst stats.' properties: charge_time: description: 'Seconds to charge the pulse.' type: number format: double example: 90 nullable: true discharge_time: description: 'Duration of the active pulse.' type: number format: double example: 30 nullable: true cooldown_time: description: 'Cooldown before the next charge cycle.' type: number format: double example: 1 nullable: true radius: description: 'Pulse radius in meters.' type: number format: double example: 20000 nullable: true decrease_charge_rate_time: description: 'Seconds to ramp down charging rate.' type: number format: double example: 1.5 nullable: true increase_charge_rate_time: description: 'Seconds to ramp up charging rate.' type: number format: double example: 3.5 nullable: true activation_phase_duration: description: 'Activation animation/FX phase length.' type: number format: double example: 3 nullable: true disperse_charge_time: description: 'Time to disperse the pulse if cancelled.' type: number format: double example: 5 nullable: true max_power_draw: description: 'Maximum power draw during pulse operations.' type: number format: double example: 1100 nullable: true stop_charging_power_fraction: description: 'Power fraction at which charging halts.' type: number format: double example: 0.2 nullable: true max_charge_rate_power_fraction: description: 'Peak charge-rate power fraction.' type: number format: double example: 0.85 nullable: true active_power_fraction: description: 'Power fraction while pulse is active.' type: number format: double example: 0.95 nullable: true tethering_power_fraction: description: 'Power fraction while maintaining tether.' type: number format: double example: 0.8 nullable: true green_zone_check_range: description: 'Safety buffer used for pulse firing checks.' type: number format: double example: 30000 nullable: true type: object quantum_interdiction_generator: title: 'Quantum Interdiction Generator' description: 'Gameplay-facing interdiction and jamming stats sourced from stdItem.QuantumInterdictionGenerator in the game data. Does not include RAW/engineering fields.' properties: power_fractions: oneOf: - $ref: '#/components/schemas/quantum_interdiction_generator_power_fractions' nullable: true description: 'Fractions of the generator total power budget reserved for base/idle, pulse, and jammer phases.' jamming: oneOf: - $ref: '#/components/schemas/quantum_interdiction_generator_jamming' nullable: true description: 'Continuous interdiction field used to yank ships out of quantum travel.' pulse: oneOf: - $ref: '#/components/schemas/quantum_interdiction_generator_pulse' nullable: true description: 'Quantum interdiction pulse (QIP) burst stats.' interdiction_range: description: 'Deprecated. Use `pulse.radius`.' type: number format: double example: 20000 nullable: true deprecated: true jammer_range: description: 'Deprecated. Use `jamming.range`.' type: number format: double example: 12000 nullable: true deprecated: true charge_duration: description: 'Deprecated. Use `pulse.charge_time`.' type: number format: double example: 90 nullable: true deprecated: true activation_duration: description: 'Deprecated. Use `pulse.activation_phase_duration`.' type: number format: double example: 3 nullable: true deprecated: true discharge_duration: description: 'Deprecated. Use `pulse.discharge_time`.' type: number format: double example: 30 nullable: true deprecated: true cooldown_duration: description: 'Deprecated. Use `pulse.cooldown_time`.' type: number format: double example: 1 nullable: true deprecated: true disperse_charge_duration: description: 'Deprecated. Use `pulse.disperse_charge_time`.' type: number format: double example: 5 nullable: true deprecated: true type: object radar_sensitivity_block: title: 'Radar Sensitivity Block' description: 'Per-signal sensitivity values as provided by game data.' properties: infrared: type: number format: double nullable: true cross_section: type: number format: double nullable: true electromagnetic: type: number format: double nullable: true resource: type: number format: double nullable: true db: type: number format: double nullable: true type: object radar_aim_assist_block: title: 'Radar Aim Assist Block' description: 'Aim assist range parameters as provided by game data.' properties: distance_min_assignment: type: number format: double nullable: true distance_max_assignment: type: number format: double nullable: true outside_range_buffer_distance: type: number format: double nullable: true type: object radar: title: Radar description: 'Radar specification sourced from stdItem.Radar.' properties: detection_lifetime: description: 'Deprecated legacy field. Always null in this resource output.' type: number format: double nullable: true deprecated: true altitude_ceiling: description: 'Deprecated legacy field. Always null in this resource output.' type: number format: double nullable: true deprecated: true enable_cross_section_occlusion: description: 'Deprecated legacy field. Always null in this resource output.' type: boolean nullable: true deprecated: true cooldown: description: 'Cooldown value (Radar.Cooldown).' type: number format: double example: 1 nullable: true sensitivity: oneOf: - $ref: '#/components/schemas/radar_sensitivity_block' nullable: true description: 'General detection sensitivity (Radar.Sensitivity.*).' ground_vehicle_sensitivity: oneOf: - $ref: '#/components/schemas/radar_sensitivity_block' nullable: true description: 'Ground vehicle detection sensitivity (Radar.GroundVehicleDetectionSensitivity.*).' piercing: oneOf: - $ref: '#/components/schemas/radar_sensitivity_block' nullable: true description: 'Signal "piercing" values (Radar.Piercing.*).' aim_assist: oneOf: - $ref: '#/components/schemas/radar_aim_assist_block' nullable: true description: 'Aim assist range parameters (Radar.AimAssist.*).' type: object radiation_resistance: title: 'Radiation Resistance' description: 'Radiation resistance values used by clothing and armor.' properties: maximum_radiation_capacity: description: 'MaximumRadiationCapacity attribute (e.g. radiation protection).' type: number format: double nullable: true radiation_dissipation_rate: description: 'RadiationDissipationRate attribute (scrub rate).' type: number format: double nullable: true type: object salvage_modifier: title: 'Salvage Modifier' description: 'Deprecated: Use values under "weapon_modifier". Salvage-specific tuning taken from Item.stdItem.SalvageModifier' properties: salvage_speed_multiplier: type: number format: double nullable: true deprecated: true radius_multiplier: type: number format: double nullable: true deprecated: true extraction_efficiency: type: number format: double nullable: true deprecated: true type: object seat_axis: title: 'Item Seat Axis Limits' description: 'Minimum and maximum values for a yaw or pitch axis.' properties: min: type: number format: double nullable: true max: type: number format: double nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true type: object seat_ejection: title: 'Item Seat Ejection' description: 'Ejection system capabilities when equipped.' properties: max_linear_velocity: type: number format: double nullable: true max_linear_acceleration: type: number format: double nullable: true max_angular_velocity: type: number format: double nullable: true max_angular_acceleration: type: number format: double nullable: true ejection_loop_time: type: number format: double nullable: true type: object seat: title: Seat description: 'Seat data sourced from stdItem.Seat for manned components.' properties: seat_type: type: string nullable: true yaw: oneOf: - $ref: '#/components/schemas/seat_axis' nullable: true pitch: oneOf: - $ref: '#/components/schemas/seat_axis' nullable: true set_yaw_pitch_limits: type: boolean nullable: true has_ejection: type: boolean nullable: true ejection: oneOf: - $ref: '#/components/schemas/seat_ejection' nullable: true type: object self_destruct: title: 'Self-Destruct Module' description: 'Countdown-activated self-destruct charges found on ships. Values are pulled directly from in-game item definitions. Data focuses on the live `Item` payload (not Raw).' properties: damage: description: 'Peak blast damage dealt at the center of the explosion. Examples: 2,500 (RSI 20s charge), 15,000 (MISC 45s charge).' type: number format: double example: 15000 nullable: true radius: description: 'Maximum damage radius in meters where the explosion can apply. Examples: 30m (RSI 20s), 80m (MISC 45s).' type: number format: double example: 80 nullable: true min_radius: description: 'Inner radius in meters that always receives full damage before falloff begins. Examples: 10m (RSI 20s), 30m (MISC 45s).' type: number format: double example: 30 nullable: true phys_radius: description: 'Physical/kinetic impact radius in meters. Examples: 30m (RSI 20s), 50m (MISC 45s).' type: number format: double example: 50 nullable: true min_phys_radius: description: 'Inner physical impact radius in meters guaranteed to apply full kinetic effect. Examples: 15m (RSI 20s), 30m (MISC 45s).' type: number format: double example: 30 nullable: true time: description: 'Countdown duration in seconds before detonation once armed.' type: number format: double example: 45 nullable: true deprecated: true countdown: description: 'Countdown duration in seconds before detonation once armed (replacement for `time`). Examples: 20s, 45s.' type: number format: double example: 20 nullable: true type: object shield_controller: title: 'Shield Controller' description: '' properties: face_type: type: string nullable: true max_reallocation: type: number format: double nullable: true reconfiguration_cooldown: type: number format: double nullable: true max_electrical_charge_damage_rate: type: number format: double nullable: true type: object shield_damage_range: title: 'Shield Damage Range' description: 'Minimum/maximum absorption or resistance values for a given damage type.' properties: min: type: number format: double example: 0 nullable: true max: type: number format: double example: 1 nullable: true type: object shield_damage_map: title: 'Shield Damage Map' description: 'Per-damage-type values. Only types present in source data are returned.' properties: physical: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true energy: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true distortion: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true thermal: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true biochemical: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true stun: oneOf: - $ref: '#/components/schemas/shield_damage_range' nullable: true type: object shield_reserve_pool: title: 'Shield Reserve Pool' description: 'Reserve pool behavior for shield health and regen.' properties: regen_rate: description: 'Reserve pool max regen rate (ReservePool.MaxShieldRegen).' type: number format: double example: 211 nullable: true regen_time: description: 'Reserve pool regeneration time (ReservePool.RegenerationTime).' type: number format: double example: 20 nullable: true initial_health_ratio: type: number format: double example: 1 nullable: true max_health_ratio: type: number format: double example: 1 nullable: true regen_rate_ratio: type: number format: double example: 1 nullable: true drain_rate_ratio: type: number format: double example: 2.5 nullable: true type: object shield_regen_delay: title: 'Shield Regen Delay' description: 'Delay before shield regeneration starts.' properties: downed: description: 'Delay after shields are fully downed.' type: number format: double example: 8.47 nullable: true damage: description: 'Delay after taking damage (without being fully downed).' type: number format: double example: 4.24 nullable: true type: object shield: title: Shield description: 'Ship shield generator statistics covering health pool, regeneration, reserve pool behavior, recharge delays, and damage absorption/resistance.' properties: max_health: description: 'Total shield hit points across all faces (MaxShieldHealth).' type: number format: double example: 4410 nullable: true regen_rate: description: 'Maximum shield regeneration per second (MaxShieldRegen).' type: number format: double example: 211 nullable: true regen_time: description: 'Shield regeneration time in seconds (RegenerationTime), rounded to 2 decimals.' type: number format: double example: 20 nullable: true decay_ratio: description: 'Portion of regen lost when shield is taking damage (DecayRatio).' type: number format: double example: 0.25 nullable: true reserve_pool: $ref: '#/components/schemas/shield_reserve_pool' regen_delay: $ref: '#/components/schemas/shield_regen_delay' electrical_charge_damage_resistance: description: 'Additional resistance applied to electrical/EMP style damage (ElectricalChargeDamageResistance).' type: number format: double example: 0 nullable: true absorption: oneOf: - $ref: '#/components/schemas/shield_damage_map' nullable: true description: 'Absorption ranges by damage type (from Shield.Absorption.*). Null when no absorption block exists.' resistance: oneOf: - $ref: '#/components/schemas/shield_damage_map' nullable: true description: 'Resistance ranges by damage type (from Shield.Resistance.*). Null when no resistance block exists.' max_shield_health: description: 'Deprecated. Use `max_health`.' type: number format: double nullable: true deprecated: true max_shield_regen: description: 'Deprecated. Use `regen_rate`.' type: number format: double nullable: true deprecated: true type: object suit_armor_type_resistance: title: 'Suit Armor Type Resistance' description: 'Per-damage-type resistance entry as returned by the resource.' properties: type: description: 'Damage type identifier (lowercase).' type: string example: physical nullable: true multiplier: type: number format: double example: 0.7 nullable: true threshold: type: number format: double example: 0 nullable: true type: object suit_armor_damage_resistance: title: 'Suit Armor Damage Resistance' description: 'Deprecated: Use damage_resistance_map. Damage resistance values for the armor piece.' properties: impact: type: number format: double example: 0.6925 nullable: true physical: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true energy: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true distortion: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true thermal: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true biochemical: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true stun: oneOf: - $ref: '#/components/schemas/suit_armor_type_resistance' nullable: true type: object deprecated: true suit_armor_damage_resistance_map: title: 'Suit Armor Damage Resistance Map' description: 'Flattened resistance values and deltas (multiplier change vs 1.0). Returned for convenience.' properties: impact: type: number format: double example: 0.6925 nullable: true impact_change: type: number format: double example: -0.3075 nullable: true physical: type: number format: double example: 0.7 nullable: true physical_change: type: number format: double example: -0.3 nullable: true energy: type: number format: double example: 0.7 nullable: true energy_change: type: number format: double example: -0.3 nullable: true distortion: type: number format: double example: 0.7 nullable: true distortion_change: type: number format: double example: -0.3 nullable: true thermal: type: number format: double example: 0.7 nullable: true thermal_change: type: number format: double example: -0.3 nullable: true biochemical: type: number format: double example: 0.7 nullable: true biochemical_change: type: number format: double example: -0.3 nullable: true stun: type: number format: double example: 0.55 nullable: true stun_change: type: number format: double example: -0.45 nullable: true type: object suit_armor_signature: title: 'Suit Armor Signature' description: 'Map of signature emission types (snake_case) to emission values.' type: object additionalProperties: type: number suit_armor: title: 'Suit Armor' description: 'Protective characteristics of FPS armor pieces (helmets, cores, arms, legs). Generated from SuitArmor data in Item.stdItem.' properties: slot: description: 'Armor slot derived from the item classification (e.g. Arms, Core, Legs, Helmet).' type: string example: Arms nullable: true armor_type: description: 'Deprecated legacy field. Use `slot`.' type: string example: Arms nullable: true deprecated: true damage_resistance: oneOf: - $ref: '#/components/schemas/suit_armor_damage_resistance' nullable: true description: 'Structured resistance values.' deprecated: true damage_resistance_map: oneOf: - $ref: '#/components/schemas/suit_armor_damage_resistance_map' nullable: true description: 'Flattened resistance values and multiplier deltas.' protected_body_parts: description: 'UUIDs of body parts covered by this armor.' type: array items: type: string example: - b6d0be4f-bbdd-4a47-a168-8c9c9293c63a - e9c7c16d-d408-41c1-8d13-eec69cd2a013 signature: oneOf: - $ref: '#/components/schemas/suit_armor_signature' nullable: true description: 'Signature emissions produced by the armor (map form).' example: electromagnetic: 5 infrared: 2 temp_resistance_min: description: 'Deprecated: Use temperature_resistance from root.' type: number format: double example: 2 nullable: true deprecated: true temp_resistance_max: description: 'Deprecated: Use temperature_resistance from root.' type: number format: double example: 10 nullable: true deprecated: true radiation_resistance: oneOf: - $ref: '#/components/schemas/radiation_resistance' nullable: true description: 'Radiation protection values from RadiationResistance.' example: maximum_radiation_capacity: 26400 radiation_dissipation_rate: 145.8 gforce_resistance: description: 'G-force tolerance modifier from root. Positive increases tolerance, negative reduces it.' type: number format: double example: 0.9 nullable: true type: object temperature_resistance: title: 'Temperature Resistance' description: 'Temperature resistance range shared by clothing and armor.' properties: min: description: 'Minimum temperature supported.' type: number format: double nullable: true max: description: 'Maximum temperature supported.' type: number format: double nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true type: object thruster_performance: title: 'Thruster Performance' properties: thrust_capacity: description: 'Maximum thrust output in newtons. Main thrusters on capital ships can exceed 300M N, while S1 maneuver thrusters are around 1.4M N.' type: number format: double example: 1431557 nullable: true max_supported_atmospheric_efficiency: description: 'Cap for atmospheric efficiency scaling. Currently 2 across available thrusters.' type: number format: double example: 2 nullable: true min_health_thrust_multiplier: description: 'Minimum thrust fraction when the thruster is at critical health (e.g., 0.25 = 25% thrust when badly damaged).' type: number format: double example: 0.25 nullable: true type: object thruster_fuel: title: 'Thruster Fuel Use' properties: burn_rate_per_10k_newton: description: 'Fuel consumed per 10,000 newtons of thrust. Lower is more efficient; common maneuver thrusters burn around 0.125.' type: number format: double example: 0.125 nullable: true type: object thruster_backwash: title: 'Thruster Backwash' properties: enabled: description: 'Whether backwash effects are enabled.' type: boolean example: true nullable: true automate_size: description: 'Automatically size backwash based on output.' type: boolean example: false nullable: true max_speed: description: 'Max speed (m/s) at which backwash applies.' type: number format: double example: 80 nullable: true max_density: description: 'Max atmospheric density where backwash is considered.' type: number format: double example: 7 nullable: true max_resistance: description: 'Max resistance value for backwash interaction.' type: number format: double example: 100 nullable: true afterburner_multiplier: description: 'Backwash intensity multiplier while afterburning.' type: number format: double example: 1.1 nullable: true type: object thruster_handling: title: 'Thruster Handling' properties: strength_smoothing: description: 'Smoothing factor applied to thrust changes.' type: number format: double example: 0.2 nullable: true type: object thruster: title: Thruster description: 'Ship thruster characteristics focused on performance, fuel efficiency, and backwash behaviour.' properties: performance: oneOf: - $ref: '#/components/schemas/thruster_performance' nullable: true fuel: oneOf: - $ref: '#/components/schemas/thruster_fuel' nullable: true role: description: 'Thruster role within the ship: Main, Maneuver, or Retro.' type: string example: Maneuver nullable: true vtol_only: description: 'True if the thruster only activates in VTOL mode.' type: boolean example: false nullable: true backwash: oneOf: - $ref: '#/components/schemas/thruster_backwash' nullable: true handling: oneOf: - $ref: '#/components/schemas/thruster_handling' nullable: true thrust_capacity: type: number format: double nullable: true deprecated: true min_health_thrust_multiplier: type: number format: double nullable: true deprecated: true fuel_burn_per_10k_newton: type: number format: double nullable: true deprecated: true type: type: string nullable: true deprecated: true type: object tractor_beam_force: title: 'Tractor Beam Force' description: 'Push / pull strength and volume scaling for the beam.' properties: min: type: number format: double example: 1500 nullable: true max: type: number format: double example: 500000 nullable: true max_volume: description: 'Maximum object volume the beam can handle (µSCU).' type: number format: double example: 300000 nullable: true volume_force_coefficient: description: 'Force falloff based on target volume.' type: number format: double example: 0.3 nullable: true type: object tractor_beam_range: title: 'Tractor Beam Range' description: 'Effective distances and cone limits.' properties: min: description: 'Minimum effective distance.' type: number format: double example: 0.5 nullable: true max: description: 'Maximum effective distance.' type: number format: double example: 135 nullable: true full_strength_distance: type: number format: double example: 68 nullable: true max_angle: type: number format: double example: 80 nullable: true hit_radius: type: number format: double example: 0.1 nullable: true type: object tractor_beam_tether: title: 'Tractor Beam Tether' properties: tether_break_time: description: 'Seconds before the tether breaks under excessive strain.' type: number format: double example: 2.25 nullable: true safe_range_value_factor: description: 'Safety factor used to determine stable range (typically 0.85).' type: number format: double example: 0.85 nullable: true allow_scrolling_into_breaking_range: description: 'Whether players can scroll past the safe range into breaking range.' type: boolean example: true nullable: true type: object tractor_beam_cargo_mode_override: title: 'Cargo Mode Overrides' description: 'Stronger cargo-handling profile used when grappling cargo or containers.' properties: min_force: type: number format: double example: 9450001 nullable: true max_force: type: number format: double example: 9500001 nullable: true min_acceleration: type: number format: double example: 15 nullable: true max_acceleration: type: number format: double example: 75 nullable: true min_speed: type: number format: double example: 12.25 nullable: true max_speed: type: number format: double example: 24.5 nullable: true acceleration_factor: type: number format: double example: 10 nullable: true degrees_per_action: type: number format: double example: 10 nullable: true max_angular_acceleration: type: number format: double example: 150 nullable: true max_angular_velocity: type: number format: double example: 55 nullable: true degrees_per_action_scroll_wheel: type: number format: double example: 1000 nullable: true force_fraction_rotation: type: number format: double example: 0.1 nullable: true min_distance: type: number format: double example: 0.5 nullable: true max_distance: type: number format: double example: 225 nullable: true full_strength_distance: type: number format: double example: 100 nullable: true type: object tractor_beam_towing: title: 'Tractor Beam Towing' description: 'Towing parameters emitted under the `towing` key.' properties: force: description: 'Towing force (Towing.TowingForce).' type: number format: double example: 100000 nullable: true max_acceleration: description: 'Maximum towing acceleration (Towing.TowingMaxAcceleration).' type: number format: double example: 10 nullable: true max_distance: description: 'Maximum towing distance (Towing.TowingMaxDistance).' type: number format: double example: 100 nullable: true qt_mass_limit: description: 'Quantum tow mass limit (Towing.QuantumTowMassLimit).' type: number format: double example: 0 nullable: true type: object tractor_beam: title: 'Tractor Beam' description: 'Star Citizen tractor / towing beam gameplay stats from stdItem.TractorBeam.' properties: force: oneOf: - $ref: '#/components/schemas/tractor_beam_force' nullable: true range: oneOf: - $ref: '#/components/schemas/tractor_beam_range' nullable: true tether: oneOf: - $ref: '#/components/schemas/tractor_beam_tether' nullable: true cargo_mode_override: oneOf: - $ref: '#/components/schemas/tractor_beam_cargo_mode_override' nullable: true towing: oneOf: - $ref: '#/components/schemas/tractor_beam_towing' nullable: true min_force: description: 'Deprecated. Use `force.min`.' type: number format: double nullable: true deprecated: true max_force: description: 'Deprecated. Use `force.max`.' type: number format: double nullable: true deprecated: true min_distance: description: 'Deprecated. Use `range.min`.' type: number format: double nullable: true deprecated: true max_distance: description: 'Deprecated. Use `range.max`.' type: number format: double nullable: true deprecated: true full_strength_distance: description: 'Deprecated. Use `range.full_strength_distance`.' type: number format: double nullable: true deprecated: true max_angle: description: 'Deprecated. Use `range.max_angle`.' type: number format: double nullable: true deprecated: true max_volume: description: 'Deprecated. Use `force.max_volume`.' type: number format: double nullable: true deprecated: true volume_force_coefficient: description: 'Deprecated. Use `force.volume_force_coefficient`.' type: number format: double nullable: true deprecated: true tether_break_time: description: 'Deprecated. Use `tether.tether_break_time`.' type: number format: double nullable: true deprecated: true safe_range_value_factor: description: 'Deprecated. Use `tether.safe_range_value_factor`.' type: number format: double nullable: true deprecated: true type: object turret_axis: title: 'Turret Axis' description: 'Axis configuration for turret yaw or pitch as emitted by this resource.' properties: slaved_only: description: 'Whether the axis is slaved-only (computed from `*.SlavedOnly === 1`).' type: boolean example: false nullable: true speed: description: 'Axis rotation speed.' type: number format: double example: 60 nullable: true time_to_full_speed: description: 'Seconds to reach full speed (AccelerationTimeToFullSpeed).' type: number format: double example: 0.5 nullable: true acceleration_decay: description: 'Acceleration decay value.' type: number format: double example: 0 nullable: true angle_limit_min: description: 'Minimum target angle when RestrictTargetAngles is enabled.' type: number format: double example: -180 nullable: true angle_limit_max: description: 'Maximum target angle when RestrictTargetAngles is enabled.' type: number format: double example: 180 nullable: true type: object turret: title: 'Turret & Gimbal' description: 'Turret/gimbal configuration sourced from stdItem.Turret plus derived mount/size information from extracted ports.' properties: rotation_style: description: 'Rotation style from stdItem.Turret.RotationStyle.' type: string nullable: true mounts: description: 'Number of weapon mounts derived from the extracted ports count.' type: integer example: 2 nullable: true min_size: description: 'Minimum supported weapon size derived from port MinSize/min_size.' type: integer example: 1 nullable: true max_size: description: 'Maximum supported weapon size derived from port MaxSize/max_size.' type: integer example: 3 nullable: true yaw_axis: oneOf: - $ref: '#/components/schemas/turret_axis' nullable: true pitch_axis: oneOf: - $ref: '#/components/schemas/turret_axis' nullable: true type: object vehicle_weapon_damage_entry: title: 'Vehicle Weapon Damage Entry' description: 'Single damage component entry derived from Ammunition impact/detonation damage fields.' properties: type: description: 'Damage phase bucket.' type: string example: impact nullable: true name: description: 'Damage type name (lowercase).' type: string example: physical nullable: true damage: type: number format: double example: 11.5 nullable: true type: object vehicle_weapon_mode: title: 'Vehicle Weapon Mode' description: 'Fire mode entry as emitted by the resource. Type-specific fields are only present when the mode type matches (e.g. beam fields only appear for type=beam).' properties: mode: type: string example: Rapid nullable: true localised: type: string example: '[AUTO]' nullable: true type: type: string example: rapid nullable: true rpm: type: number format: double example: 925 nullable: true rounds_per_minute: description: 'Deprecated: Use rpm.' type: number format: double example: 925 nullable: true deprecated: true ammo_per_shot: type: integer example: 1 nullable: true pellets_per_shot: type: integer example: 1 nullable: true damage_per_second: type: number format: double example: 0 nullable: true heat_per_shot: description: 'Heat generated per shot (projectile modes).' type: number format: double nullable: true wear_per_shot: description: 'Durability lost per shot (projectile modes).' type: number format: double nullable: true heat_per_second: description: 'Heat generated per second (beam / continuous-fire modes).' type: number format: double nullable: true wear_per_second: description: 'Durability lost per second (beam / continuous-fire modes).' type: number format: double nullable: true fire_during_spin_up: description: 'Whether the weapon fires during barrel spin-up (rapid mode).' type: boolean nullable: true shot_count: description: 'Number of shots per burst (burst mode).' type: integer nullable: true cooldown_time: description: 'Cooldown time between bursts in seconds (burst mode).' type: number format: double nullable: true sequence_mode: description: 'Sequence mode identifier (sequence mode).' type: string nullable: true charge_up_time: description: 'Beam spool-up time in seconds (beam mode).' type: number format: double nullable: true charge_down_time: description: 'Beam spool-down time in seconds (beam mode).' type: number format: double nullable: true full_damage_range: description: 'Range at which full damage is applied (beam mode).' type: number format: double nullable: true zero_damage_range: description: 'Range at which damage drops to zero (beam mode).' type: number format: double nullable: true hit_type: description: 'Beam hit registration type (beam mode).' type: string nullable: true hit_radius: description: 'Beam impact radius (beam / salvage mode).' type: number format: double nullable: true min_energy_draw: description: 'Minimum power draw (beam / salvage mode).' type: number format: double nullable: true max_energy_draw: description: 'Maximum power draw (beam / salvage mode).' type: number format: double nullable: true healing_mode: description: 'Healing mode identifier (healingbeam mode).' type: string nullable: true healing_per_second: description: 'SCU healed per second (healingbeam mode).' type: number format: double nullable: true ammo_per_mscu: description: 'Ammo consumed per medical SCU (healingbeam mode).' type: number format: double nullable: true medical_ammo_type: description: 'Medical ammo type tag (healingbeam mode).' type: string nullable: true external_healing: description: 'External healing mode (healingbeam mode).' type: string nullable: true toggle: description: 'Toggle mode flag (healingbeam mode).' type: boolean nullable: true max_distance: description: 'Maximum healing distance (healingbeam mode).' type: number format: double nullable: true max_sensor_distance: description: 'Maximum sensor range for target detection (healingbeam mode).' type: number format: double nullable: true auto_dosage_modifier: description: 'Auto-dosage BDL modifier (healingbeam mode).' type: number format: double nullable: true healing_break_time: description: 'Time before healing breaks in seconds (healingbeam mode).' type: number format: double nullable: true max_dose_for_auto_adjustment: description: 'Max dose for auto-adjustment (healingbeam mode).' type: number format: double nullable: true battery_drain_per_second: description: 'Battery drain per second (healingbeam mode).' type: number format: double nullable: true material_efficiency: description: 'Material recovery rate (salvage mode).' type: number format: double nullable: true max_health_repair_rate: description: 'Max hull repair rate (salvage mode).' type: number format: double nullable: true max_damage_map_repair_rate: description: 'Max damage-map repair rate (salvage mode).' type: number format: double nullable: true health_to_ammo_ratio: description: 'Health restored per ammo unit (salvage mode).' type: number format: double nullable: true ramp_up_time: description: 'Beam ramp-up time in seconds (salvage mode).' type: number format: double nullable: true ramp_down_time: description: 'Beam ramp-down time in seconds (salvage mode).' type: number format: double nullable: true max_vehicle_damage_ratio: description: 'Max vehicle damage ratio (salvage mode).' type: number format: double nullable: true repaired_material_ratio: description: 'Ratio of repaired material (salvage mode).' type: number format: double nullable: true salvage_can_fire_on_full: description: 'Can fire when target is at full health (salvage mode).' type: boolean nullable: true damage_threshold: description: 'Damage threshold for salvage operations (salvage mode).' type: number format: double nullable: true minimum_distance: description: 'Minimum mining distance (collectionbeam mode).' type: number format: double nullable: true maximum_distance: description: 'Maximum mining distance (collectionbeam mode).' type: number format: double nullable: true beam_radius: description: 'Collection beam radius (collectionbeam mode).' type: number format: double nullable: true collection_rate: description: 'Ore collection rate (collectionbeam mode).' type: number format: double nullable: true energy_draw: description: 'Power consumption (collectionbeam mode).' type: number format: double nullable: true mining_extractor_tag: description: 'Extractor classification tag (collectionbeam mode).' type: string nullable: true toggle_mode: description: 'Toggle mode flag (tractorbeam mode).' type: boolean nullable: true type: object vehicle_weapon_damage_types: title: 'Vehicle Weapon Damage Types' description: 'Damage values split by type.' properties: physical: type: number format: double nullable: true energy: type: number format: double nullable: true distortion: type: number format: double nullable: true thermal: type: number format: double nullable: true biochemical: type: number format: double nullable: true stun: type: number format: double nullable: true type: object vehicle_weapon_damage: title: 'Vehicle Weapon Damage' description: 'Damage summary block from stdItem.Weapon plus per-type alpha and dps from the primary mode.' properties: sustained_60s: type: number format: double nullable: true burst: type: number format: double nullable: true alpha_total: type: number format: double nullable: true max: type: number format: double nullable: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true alpha: oneOf: - $ref: '#/components/schemas/vehicle_weapon_damage_types' nullable: true type: object vehicle_weapon_spread: title: 'Vehicle Weapon Spread' properties: min: type: number format: double nullable: true max: type: number format: double nullable: true minimum: description: 'Deprecated: Use min.' type: number format: double nullable: true deprecated: true maximum: description: 'Deprecated: Use max.' type: number format: double nullable: true deprecated: true first_attack: type: number format: double nullable: true per_attack: type: number format: double nullable: true decay: type: number format: double nullable: true type: object vehicle_weapon_barrel_spin_time: title: 'Vehicle Weapon Barrel Spin Time' properties: up: type: number format: double nullable: true down: type: number format: double nullable: true type: object vehicle_weapon_heat: title: 'Vehicle Weapon Heat' properties: per_shot: type: number format: double nullable: true cooling_delay: type: number format: double nullable: true cooling_per_second: type: number format: double nullable: true overheat_max_shots: type: number format: double nullable: true overheat_max_time: type: number format: double nullable: true overheat_cooldown: type: number format: double nullable: true type: object vehicle_weapon_capacitor: title: 'Vehicle Weapon Capacitor' properties: max_ammo_load: type: number format: double nullable: true regen_per_second: type: number format: double nullable: true cooldown: type: number format: double nullable: true requested_ammo_load: type: number format: double nullable: true costs_per_shot: type: number format: double nullable: true type: object vehicle_weapon_charge: title: 'Vehicle Weapon Charge' properties: time: type: number format: double nullable: true overcharge_time: type: number format: double nullable: true overcharged_time: type: number format: double nullable: true cooldown_time: type: number format: double nullable: true auto_fire: description: 'Auto-fire when fully charged.' type: boolean nullable: true require_full_charge: description: 'Must be fully charged before firing.' type: boolean nullable: true auto_charge: description: 'Auto-charges when held.' type: boolean nullable: true interpolate_bonus: description: 'Interpolates charge bonus linearly.' type: boolean nullable: true type: object vehicle_weapon_charge_modifier: title: 'Vehicle Weapon Charge Modifier' properties: damage: type: number format: double nullable: true fire_rate: type: number format: double nullable: true ammo_speed: type: number format: double nullable: true fire_rate_override: description: 'Override fire rate at full charge.' type: number format: double nullable: true pellets_override: description: 'Override pellet count at full charge.' type: integer nullable: true burst_shots_override: description: 'Override burst shot count at full charge.' type: integer nullable: true heat_multiplier: description: 'Heat generation multiplier at full charge.' type: number format: double nullable: true type: object vehicle_weapon: title: 'Vehicle Weapon' description: 'Vehicle weapon stats derived from stdItem.Weapon and stdItem.Ammunition. Conditional blocks (spread, barrel_spin_time, heat, capacitor, charge, charge_modifier) may be omitted when source data is absent.' properties: class: description: 'Weapon class from stdItem.Weapon.WeaponClass.' type: string example: LaserCannon nullable: true type: description: 'Item type from DescriptionData.Item Type.' type: string example: Weapon nullable: true capacity: description: 'Ammunition capacity (stdItem.Ammunition.Capacity).' type: integer example: 50 nullable: true range: description: 'Effective range in meters (stdItem.Weapon.EffectiveRange).' type: number format: double example: 1800 nullable: true rpm: description: 'Primary mode rounds per minute (Modes.0.RoundsPerMinute).' type: number format: double example: 400 nullable: true damage: oneOf: - $ref: '#/components/schemas/vehicle_weapon_damage' nullable: true description: 'Damage summary and per-type alpha/dps.' modes: description: 'Fire modes as provided by the game data.' type: array items: $ref: '#/components/schemas/vehicle_weapon_mode' nullable: true damage_per_shot: description: 'Deprecated. Use `damage.alpha_total` (and/or `damage.alpha.*` for per-type values).' type: number format: double nullable: true deprecated: true damages: description: 'Deprecated. Use `damage` (and its `alpha`/`dps` breakdown).' type: array items: $ref: '#/components/schemas/vehicle_weapon_damage_entry' nullable: true deprecated: true regeneration: description: 'Deprecated. Use `capacitor.regen_per_second`.' type: number format: double nullable: true deprecated: true ammunition: description: 'Deprecated: use ammunition from the root resource.' type: object nullable: true deprecated: true spread: oneOf: - $ref: '#/components/schemas/vehicle_weapon_spread' nullable: true barrel_spin_time: oneOf: - $ref: '#/components/schemas/vehicle_weapon_barrel_spin_time' nullable: true heat: oneOf: - $ref: '#/components/schemas/vehicle_weapon_heat' nullable: true capacitor: oneOf: - $ref: '#/components/schemas/vehicle_weapon_capacitor' nullable: true charge: oneOf: - $ref: '#/components/schemas/vehicle_weapon_charge' nullable: true charge_modifier: oneOf: - $ref: '#/components/schemas/vehicle_weapon_charge_modifier' nullable: true type: object weapon_attachment_rgb_color: title: 'Weapon Attachment RGB Color' description: 'RGB color triplet as provided by the game data.' properties: r: type: number format: double example: 1 nullable: true g: type: number format: double example: 0 nullable: true b: type: number format: double example: 0 nullable: true type: object weapon_attachment_iron_sight: title: 'Weapon Attachment Iron Sight' properties: default_range: type: number format: double nullable: true max_range: type: number format: double nullable: true range_increment: type: number format: double nullable: true auto_zeroing_time: type: number format: double nullable: true zoom_scale: type: number format: double nullable: true zoom_time_scale: type: number format: double nullable: true zoom_time_change: description: 'Computed as `zoom_time_scale - 1`.' type: number format: double nullable: true type: object weapon_attachment_magazine: title: 'Weapon Attachment Magazine' properties: initial_ammo_count: type: integer nullable: true max_ammo_count: type: integer nullable: true max_restock_count: type: integer nullable: true type: object weapon_attachment_laser_pointer: title: 'Weapon Attachment Laser Pointer' properties: range: type: number format: double nullable: true color: oneOf: - $ref: '#/components/schemas/weapon_attachment_rgb_color' nullable: true color_css: type: string nullable: true type: object weapon_attachment_flashlight_profile: title: 'Weapon Attachment Flashlight Profile' description: 'Single flashlight profile (typically keyed as `narrow` or `wide`).' properties: port_name: type: string nullable: true name: type: string nullable: true light_type: type: string nullable: true light_radius: type: number format: double nullable: true intensity: type: number format: double nullable: true color: oneOf: - $ref: '#/components/schemas/weapon_attachment_rgb_color' nullable: true color_css: type: string nullable: true type: object weapon_attachment_flashlight: title: 'Weapon Attachment Flashlight' description: 'Flashlight profiles keyed by beam type (`narrow`, `wide`) when present.' type: object additionalProperties: $ref: '#/components/schemas/weapon_attachment_flashlight_profile' weapon_attachment_barrel_attachment: title: 'Weapon Attachment Barrel Attachment' description: 'Barrel attachment map. Keys reflect the raw barrel fields (snake_cased), plus `attachment_point` and `type` injected by the resource.' properties: attachment_point: type: string nullable: true type: description: 'Currently mirrors `attachment_point` (overrides any snake-cased barrel `Type` field).' type: string nullable: true type: object weapon_attachment: title: 'Weapon Attachment' description: 'Weapon attachment details derived from stdItem.WeaponAttachment. Only non-empty blocks are returned.' properties: iron_sight: oneOf: - $ref: '#/components/schemas/weapon_attachment_iron_sight' nullable: true laser_pointer: oneOf: - $ref: '#/components/schemas/weapon_attachment_laser_pointer' nullable: true flashlight: oneOf: - $ref: '#/components/schemas/weapon_attachment_flashlight' nullable: true magazine: oneOf: - $ref: '#/components/schemas/weapon_attachment_magazine' nullable: true compensator: oneOf: - $ref: '#/components/schemas/weapon_attachment_barrel_attachment' nullable: true flash_hider: oneOf: - $ref: '#/components/schemas/weapon_attachment_barrel_attachment' nullable: true type: object weapon_modifier_base: title: 'Weapon Modifier Base' description: 'Core scalar adjustments and derived delta fields (`*_change`). Only emitted when the modifier meaningfully differs from defaults.' properties: muzzle_flash_multiplier: type: number format: double example: 1 nullable: true muzzle_flash_change: description: 'Computed as `round(muzzle_flash_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true fire_rate_multiplier: type: number format: double example: 1.1 nullable: true fire_rate_change: description: 'Computed as `round(fire_rate_multiplier - 1, 2)`.' type: number format: double example: 0.1 nullable: true damage_multiplier: type: number format: double example: 0.92 nullable: true damage_change: description: 'Computed as `round(damage_multiplier - 1, 2)`.' type: number format: double example: -0.08 nullable: true projectile_speed_multiplier: type: number format: double example: 0.875 nullable: true projectile_speed_change: description: 'Computed as `round(projectile_speed_multiplier - 1, 2)`.' type: number format: double example: -0.13 nullable: true ammo_cost_multiplier: type: number format: double example: 2 nullable: true ammo_cost_change: description: 'Computed as `round(ammo_cost_multiplier - 1, 2)`.' type: number format: double example: 1 nullable: true heat_generation_multiplier: type: number format: double example: 0.2 nullable: true heat_generation_change: description: 'Computed as `round(heat_generation_multiplier - 1, 2)`.' type: number format: double example: -0.8 nullable: true sound_radius_multiplier: type: number format: double example: 1.2 nullable: true sound_radius_change: description: 'Computed as `round(sound_radius_multiplier - 1, 2)`.' type: number format: double example: 0.2 nullable: true charge_time_multiplier: type: number format: double example: 1 nullable: true charge_time_change: description: 'Computed as `round(charge_time_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true type: object weapon_modifier_recoil: title: 'Weapon Modifier Recoil' description: 'Reduced recoil block as emitted by this resource (not a full recoil model export). Only emitted when values differ from defaults.' properties: decay_multiplier: type: number format: double example: 1 nullable: true decay_change: description: 'Computed as `round(decay_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true multiplier: description: 'Maps to source `RandomnessMultiplier`.' type: number format: double example: 1 nullable: true multiplier_change: description: 'Computed as `round(multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true type: object weapon_modifier_spread: title: 'Weapon Modifier Spread' description: 'Spread tuning multipliers and derived deltas. Only emitted when values differ from defaults.' properties: min_multiplier: type: number format: double example: 1 nullable: true min_change: description: 'Computed as `round(min_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true max_multiplier: type: number format: double example: 1 nullable: true max_change: description: 'Computed as `round(max_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true first_attack_multiplier: type: number format: double example: 1 nullable: true first_attack_change: description: 'Computed as `round(first_attack_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true per_attack_multiplier: type: number format: double example: 1 nullable: true per_attack_change: description: 'Computed as `round(per_attack_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true decay_multiplier: type: number format: double example: 1 nullable: true decay_change: description: 'Computed as `round(decay_multiplier - 1, 2)`.' type: number format: double example: 0 nullable: true type: object weapon_modifier_aim: title: 'Weapon Modifier Aim' description: 'ADS/zoom adjustments. Only emitted when values differ from defaults.' properties: zoom_scale: type: number format: double example: 4 nullable: true second_zoom_scale: type: number format: double example: 6 nullable: true zoom_time_scale: type: number format: double example: 1.25 nullable: true zoom_time_change: description: 'Computed as `round(zoom_time_scale - 1, 2)`.' type: number format: double example: 0.25 nullable: true hide_weapon_in_ads: type: boolean example: false nullable: true fstop_multiplier: type: number format: double example: 1 nullable: true type: object weapon_modifier_regen: title: 'Weapon Modifier Regen' description: 'Regeneration modifiers. Only emitted when values differ from defaults.' properties: power_ratio_multiplier: type: number format: double example: 1 nullable: true max_ammo_load_multiplier: type: number format: double example: 1 nullable: true max_regen_per_sec_multiplier: type: number format: double example: 1 nullable: true type: object weapon_modifier_salvage: title: 'Weapon Modifier Salvage' description: 'Salvage-related multipliers. Only emitted when present per resource logic.' properties: salvage_speed_multiplier: type: number format: double example: 1 nullable: true radius_multiplier: type: number format: double example: 1 nullable: true extraction_efficiency: type: number format: double example: 1 nullable: true type: object weapon_modifier_zeroing: title: 'Weapon Modifier Zeroing' description: 'Zeroing distances supported by the optic or attachment. Only emitted when present per resource logic.' properties: default_range: type: number format: double example: 0 nullable: true max_range: type: number format: double example: 500 nullable: true range_increment: type: number format: double example: 100 nullable: true auto_zeroing_time: type: number format: double example: 0 nullable: true type: object weapon_modifier: title: 'Weapon Modifier' description: 'Attachment and weapon modifier stats taken directly from Item.stdItem.WeaponModifier. Legacy v2 fields are kept (deprecated) for backwards compatibility.' properties: activate_on_attach: description: 'Whether the modifier becomes active as soon as it is attached.' type: boolean example: true nullable: true ignore_wear: description: 'If true, the modifier ignores item wear/maintenance effects.' type: boolean example: false nullable: true base: oneOf: - $ref: '#/components/schemas/weapon_modifier_base' nullable: true recoil: oneOf: - $ref: '#/components/schemas/weapon_modifier_recoil' nullable: true spread: oneOf: - $ref: '#/components/schemas/weapon_modifier_spread' nullable: true aim: oneOf: - $ref: '#/components/schemas/weapon_modifier_aim' nullable: true regen: oneOf: - $ref: '#/components/schemas/weapon_modifier_regen' nullable: true salvage: oneOf: - $ref: '#/components/schemas/weapon_modifier_salvage' nullable: true zeroing: oneOf: - $ref: '#/components/schemas/weapon_modifier_zeroing' nullable: true fire_rate_multiplier: description: 'Deprecated: Use `base.fire_rate_multiplier`.' type: number format: double nullable: true deprecated: true damage_multiplier: description: 'Deprecated: Use `base.damage_multiplier`.' type: number format: double nullable: true deprecated: true damage_over_time_multiplier: description: 'Deprecated: v2 compatibility field. No non-deprecated replacement is currently returned by this resource.' type: number format: double nullable: true deprecated: true projectile_speed_multiplier: description: 'Deprecated: Use `base.projectile_speed_multiplier`.' type: number format: double nullable: true deprecated: true ammo_cost_multiplier: description: 'Deprecated: Use `base.ammo_cost_multiplier`.' type: number format: double nullable: true deprecated: true heat_generation_multiplier: description: 'Deprecated: Use `base.heat_generation_multiplier`.' type: number format: double nullable: true deprecated: true sound_radius_multiplier: description: 'Deprecated: Use `base.sound_radius_multiplier`.' type: number format: double nullable: true deprecated: true charge_time_multiplier: description: 'Deprecated: Use `base.charge_time_multiplier`.' type: number format: double nullable: true deprecated: true type: object manufacturer_link: title: 'Link to the detail page of a manufacturer' properties: name: type: string code: type: string uuid: type: string link: type: string type: object manufacturer: title: 'In game manufacturer' type: object allOf: - $ref: '#/components/schemas/manufacturer_link' - properties: name: type: string code: type: string uuid: type: string link: type: string type: object mission_completion_tag: title: 'Mission Completion Tag' properties: name: type: string nullable: true unlocks_missions: type: array items: $ref: '#/components/schemas/mission_completion_tag_mission' type: object mission_completion_tag_mission: title: 'Mission Completion Tag Mission' properties: uuid: type: string format: uuid title: type: string nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission_prerequisite_group: title: 'Mission Prerequisite Group' properties: required_count: type: integer nullable: true required_tags: type: array items: properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true type: object excluded_tags: type: array items: properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true type: object missions: type: array items: $ref: '#/components/schemas/mission_chain_link' type: object mission_unlock_group: title: 'Mission Unlock Group' description: 'A completion tag group that unlocks missions when this mission is completed.' properties: tag_name: type: string nullable: true tag_uuid: type: string format: uuid nullable: true missions: type: array items: $ref: '#/components/schemas/mission_chain_link' type: object mission_chain_link: title: 'Mission Chain Link' properties: uuid: type: string format: uuid nullable: true title: type: string nullable: true mission_type: type: string nullable: true variant_count: description: 'Number of mission variants with the same title. Only present when greater than 1.' type: integer nullable: true variants: description: 'Additional mission variants sharing the same title. Only present when variant_count > 1.' type: array items: $ref: '#/components/schemas/mission_chain_variant' nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission_chain_variant: title: 'Mission Chain Variant' description: 'A variant of a mission chain link, sharing the same title but a different UUID.' properties: uuid: type: string format: uuid nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission_combat: title: 'Mission Combat' properties: summary: properties: total: properties: min: type: integer max: type: integer type: object by_group: type: array items: properties: group_name: { type: string } min: { type: integer } max: { type: integer } type: object type: object spawns: type: array items: properties: role: type: string nullable: true weight: type: integer nullable: true group_name: type: string nullable: true spawn_kind: type: string nullable: true concurrent_amount: type: integer nullable: true type: object aggregated_spawns: description: 'Spawns grouped by role, group_name, and spawn_kind with aggregated concurrent ranges' type: array items: properties: role: type: string group_name: type: string nullable: true spawn_kind: type: string nullable: true concurrent_min: type: integer nullable: true concurrent_max: type: integer nullable: true weight: type: integer nullable: true type: object type: object mission_cooldown: title: 'Mission Cooldown' properties: label: type: string nullable: true personal_seconds: type: integer abandoned_seconds: type: integer personal_variation_seconds: type: integer abandoned_variation_seconds: type: integer type: object mission_hauling_order: title: 'Mission Hauling Order' properties: kind: type: string nullable: true name: type: string nullable: true uuid: type: string format: uuid nullable: true items: type: array items: $ref: '#/components/schemas/mission_hauling_order_item' max_scu: type: integer nullable: true min_scu: type: integer nullable: true max_amount: type: integer nullable: true min_amount: type: integer nullable: true max_container_size: type: integer nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true or_options: type: array items: type: array items: $ref: '#/components/schemas/mission_hauling_order' nullable: true type: object mission_hauling_order_item: title: 'Mission Hauling Order Item' properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission_index: title: 'Mission Summary' properties: uuid: type: string format: uuid title: type: string nullable: true description: type: string nullable: true mission_giver: type: string nullable: true debug_name: type: string nullable: true faction: properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true link: type: string format: uri nullable: true type: object nullable: true rank_index: type: integer nullable: true illegal: type: boolean legality_label: type: string shareable: type: boolean once_only: type: boolean has_combat: type: boolean nullable: true has_defend_objective: type: boolean nullable: true enemy_count_min: type: integer nullable: true enemy_count_max: type: integer nullable: true reward_min: type: integer nullable: true reward_max: type: integer nullable: true reward_currency: type: string nullable: true time_to_complete_minutes: type: number format: float nullable: true star_systems: type: array items: type: string nullable: true variant_count: type: integer nullable: true variants: type: array items: properties: uuid: type: string format: uuid title: type: string nullable: true type: object nullable: true has_blueprints: type: boolean blueprint_drop_chance: type: number format: float nullable: true blueprints: type: array items: $ref: '#/components/schemas/mission_index_blueprint' nullable: true has_chain: type: boolean has_prerequisites: description: 'Deprecated: Use has_chain.' type: boolean deprecated: true has_hauling: type: boolean min_standing: properties: name: type: string nullable: true min_reputation: type: integer nullable: true type: object nullable: true max_standing: properties: name: type: string nullable: true min_reputation: type: integer nullable: true type: object nullable: true min_standing_name: description: 'Deprecated: Use min_standing.name.' type: string nullable: true deprecated: true max_standing_name: description: 'Deprecated: Use max_standing.name.' type: string nullable: true deprecated: true cost: type: integer nullable: true min_crime_stat: type: integer nullable: true max_crime_stat: type: integer nullable: true available_in_prison: type: boolean not_for_release: type: boolean work_in_progress: type: boolean reputation_gained: type: array items: properties: faction: type: string nullable: true faction_uuid: type: string format: uuid nullable: true scope: type: string nullable: true tier: type: string nullable: true amount: type: integer nullable: true type: object nullable: true max_players_per_instance: type: integer nullable: true max_instances_per_player: type: integer nullable: true cooldown: oneOf: - $ref: '#/components/schemas/mission_cooldown' nullable: true cooldown_seconds: description: 'Deprecated: Use cooldown.personal_seconds.' type: integer nullable: true deprecated: true cooldown_label: description: 'Deprecated: Use cooldown.label.' type: string nullable: true deprecated: true reaccept_after_abandoning: type: boolean reaccept_after_failing: type: boolean fail_if_became_criminal: type: boolean hauling_summary: type: array items: properties: name: type: string nullable: true min_amount: type: integer nullable: true max_amount: type: integer nullable: true type: object nullable: true reward_scope: type: string nullable: true reputation_amount: type: integer nullable: true game_version: type: string nullable: true link: type: string format: uri web_url: type: string format: uri type: object mission_index_blueprint: title: 'Mission Index Blueprint' properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true link: type: string format: uri nullable: true type: object mission_lifetime: title: 'Mission Lifetime' properties: label: type: string nullable: true respawn_time_seconds: type: integer max_instances: type: integer respawn_time_variation_seconds: type: integer max_instances_per_player: type: integer type: object mission_starmap_location_group: title: 'Mission Starmap Location Group' properties: purpose: type: string locations: type: array items: $ref: '#/components/schemas/mission_starmap_location' type: object mission_starmap_location: title: 'Mission Starmap Location' properties: uuid: type: string format: uuid nullable: true name: type: string nullable: true system: type: string nullable: true type: type: string nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission: title: Mission properties: uuid: type: string format: uuid title: type: string nullable: true description: type: string nullable: true mission_type: type: string nullable: true mission_giver: type: string nullable: true faction: properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true faction_type: type: string nullable: true lawful: type: boolean nullable: true is_npc: type: boolean has_reputation: type: boolean headquarters: type: string nullable: true area: type: string nullable: true focus: type: string nullable: true founded: type: string nullable: true leadership: type: string nullable: true link: type: string format: uri nullable: true reputation_ladder: oneOf: - $ref: '#/components/schemas/mission_faction_reputation_scope' nullable: true type: object nullable: true rank_index: type: integer nullable: true illegal: type: boolean legality_label: type: string shareable: type: boolean once_only: type: boolean available_in_prison: type: boolean not_for_release: type: boolean work_in_progress: type: boolean has_combat: type: boolean nullable: true has_defend_objective: type: boolean nullable: true enemy_count_min: type: integer nullable: true enemy_count_max: type: integer nullable: true min_crime_stat: type: integer nullable: true max_crime_stat: type: integer nullable: true reward_min: type: integer nullable: true reward_max: type: integer nullable: true reward_currency: type: string nullable: true time_to_complete_minutes: type: number format: float nullable: true star_systems: type: array items: type: string nullable: true cooldown: oneOf: - $ref: '#/components/schemas/mission_cooldown' nullable: true lifetime: oneOf: - $ref: '#/components/schemas/mission_lifetime' nullable: true reaccept_after_failing: type: boolean nullable: true reaccept_after_abandoning: type: boolean nullable: true blueprints: oneOf: - $ref: '#/components/schemas/mission_blueprints' nullable: true reward_items: type: array items: $ref: '#/components/schemas/mission_reward_item' nullable: true combat: oneOf: - $ref: '#/components/schemas/mission_combat' nullable: true completion_tags: type: array items: $ref: '#/components/schemas/mission_completion_tag' nullable: true reputation_gained: type: array items: $ref: '#/components/schemas/mission_reputation' nullable: true reputation_lost: type: array items: $ref: '#/components/schemas/mission_reputation' nullable: true hauling_orders: type: array items: $ref: '#/components/schemas/mission_hauling_order' nullable: true cost: type: integer nullable: true max_players_per_instance: type: integer nullable: true fail_if_became_criminal: type: boolean nullable: true min_standing: properties: name: type: string nullable: true min_reputation: type: integer nullable: true type: object nullable: true max_standing: properties: name: type: string nullable: true min_reputation: type: integer nullable: true type: object nullable: true mission_tokens: properties: destinations: type: array items: type: string type: object nullable: true deadline: properties: auto_end: type: boolean nullable: true end_reason: type: string nullable: true completion_time_minutes: type: integer nullable: true result_after_timer: type: string nullable: true type: object nullable: true broker_reputation_prerequisites: properties: max_wanted_level: type: integer nullable: true min_wanted_level: type: integer nullable: true type: object nullable: true item_counts: properties: max_items: type: integer nullable: true min_items: type: integer nullable: true type: object nullable: true entity_spawns: type: array items: properties: tags: type: array items: type: string nullable: true amount: type: integer nullable: true weight: type: integer nullable: true group_name: type: string nullable: true markup_tags: type: array items: type: string nullable: true negative_tags: type: array items: type: string nullable: true merged_tags: type: array items: type: string type: object nullable: true hidden_in_mobiglas: type: boolean nullable: true notify_on_available: type: boolean nullable: true reward_scope: type: string nullable: true reputation_amount: type: integer nullable: true game_version: type: string nullable: true starmap_locations: type: array items: $ref: '#/components/schemas/mission_starmap_location_group' nullable: true prerequisite_groups: type: array items: $ref: '#/components/schemas/mission_prerequisite_group' nullable: true unlock_groups: description: 'Completion tag groups that become available after completing this mission' type: array items: $ref: '#/components/schemas/mission_unlock_group' nullable: true merged_locations: description: 'Starmap locations grouped by logical purpose categories (Destinations, Locations, Availability)' type: object nullable: true has_rewards: type: boolean has_combat_section: type: boolean has_locations: type: boolean has_chain: type: boolean has_blueprints: type: boolean released: description: 'Whether this mission is released (not marked as not_for_release or work_in_progress).' type: boolean link: type: string format: uri type: object mission_blueprints: title: 'Mission Blueprints' properties: drop_chance: type: number format: float drop_chance_percent: type: number format: float nullable: true items: type: array items: $ref: '#/components/schemas/mission_blueprint_item' type: object mission_blueprint_item: title: 'Mission Blueprint Item' properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true item_link: type: string format: uri nullable: true blueprint_link: type: string format: uri nullable: true web_item_link: type: string format: uri nullable: true web_blueprint_link: type: string format: uri nullable: true type: object mission_reward_item: title: 'Mission Reward Item' properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true amount: type: integer nullable: true send_to_home: type: boolean nullable: true link: type: string format: uri nullable: true web_url: type: string format: uri nullable: true type: object mission_reputation: title: 'Mission Reputation' properties: tier: type: string nullable: true scope: type: string nullable: true amount: type: integer nullable: true faction: type: string nullable: true faction_uuid: type: string format: uuid nullable: true type: object mission_faction_reputation_scope: title: 'Mission Faction Reputation Scope' properties: scope_name: type: string nullable: true standings: type: array items: $ref: '#/components/schemas/mission_faction_standing' type: object mission_faction_standing: title: 'Mission Faction Standing' properties: name: type: string display_name: type: string nullable: true min_reputation: type: integer type: object mission_summary: title: 'Mission Summary' description: 'Lightweight mission summary used in location and other nested responses.' properties: uuid: type: string format: uuid title: type: string nullable: true mission_type: type: string nullable: true illegal: type: boolean has_combat: type: boolean nullable: true faction: properties: name: type: string nullable: true uuid: type: string format: uuid nullable: true link: type: string format: uri nullable: true type: object nullable: true link: type: string format: uri web_url: type: string format: uri type: object game_starmap_location_linked_summary: title: 'Game Starmap Location Linked Summary' description: 'A lightweight summary of a linked starmap location, used for parent, star, and related location references.' properties: uuid: description: 'Unique identifier of the linked location.' type: string format: uuid name: description: 'Display name of the linked location.' type: string type_name: description: 'Type name of the linked location (e.g. Planet, Moon, Outpost).' type: string slug: description: 'URL-friendly slug for the linked location.' type: string nullable: true type: object game_starmap_location_type: title: 'Game Starmap Location Type' description: 'Classification and quantum travel properties of a starmap location type.' properties: uuid: description: 'UUID of the location type.' type: string format: uuid nullable: true name: description: 'Type name (e.g. Planet, Moon, Outpost, Asteroid).' type: string classification: description: 'Sub-classification of the location type (e.g. Outpost, LandingZone).' type: string nullable: true spawn_nav_points: description: 'Whether this location type spawns navigation points.' type: boolean nullable: true valid_quantum_travel_destination: description: 'Whether this location type is a valid quantum travel destination.' type: boolean nullable: true type: object game_starmap_location_jurisdiction: title: 'Game Starmap Location Jurisdiction' description: 'Legal jurisdiction governing a starmap location, including fines and prison status.' properties: uuid: description: 'UUID of the jurisdiction.' type: string format: uuid nullable: true name: description: 'Name of the governing jurisdiction (e.g. UEE).' type: string nullable: true base_fine: description: 'Base fine amount for crimes committed in this jurisdiction.' type: integer nullable: true max_stolen_goods_possession_scu: description: 'Maximum stolen goods possession allowed in SCU before penalties apply.' type: integer nullable: true is_prison: description: 'Whether this location is a prison facility.' type: boolean nullable: true type: object game_starmap_location_affiliation: title: 'Game Starmap Location Affiliation' description: 'Faction or organization affiliation of a starmap location.' properties: uuid: description: 'UUID of the affiliated faction or organization.' type: string format: uuid nullable: true name: description: 'Display name of the affiliated faction or organization (e.g. UEE, Private Security).' type: string nullable: true type: object game_starmap_location_amenity: title: 'Game Starmap Location Amenity' description: 'An amenity available at a starmap location (e.g. hospital, commodity trading, garage).' properties: uuid: description: 'Unique identifier of the amenity.' type: string format: uuid name: description: 'Internal name of the amenity.' type: string display_name: description: 'Human-readable display name of the amenity, may differ from internal name.' type: string nullable: true type: object game_starmap_location_tag: title: 'Game Starmap Location Tag' description: 'A hierarchy entity tag used for grouping and filtering locations (e.g. orbital markers like HUR_L1).' properties: uuid: description: 'Unique identifier of the hierarchy entity tag.' type: string format: uuid name: description: 'Tag name, typically an orbital or navigational marker code (e.g. HUR_L1, ARC_L2).' type: string type: object game_starmap_location_radar_contact_type: title: 'Game Starmap Location Radar Contact Type' description: 'Radar contact classification for a starmap location, used for navigation and object-of-interest detection.' properties: uuid: description: 'UUID of the radar contact type.' type: string format: uuid nullable: true name: description: 'Internal name of the radar contact type.' type: string nullable: true display_name: description: 'Human-readable display name of the radar contact type.' type: string nullable: true tag_uuid: description: 'UUID of the associated hierarchy entity tag.' type: string format: uuid nullable: true tag_name: description: 'Name of the associated hierarchy entity tag.' type: string nullable: true is_object_of_interest: description: 'Whether this location is marked as an object of interest.' type: boolean nullable: true type: object game_starmap_location_quantum_travel: title: 'Game Starmap Location Quantum Travel' description: 'Quantum travel parameters defining how ships interact with this location during quantum travel.' properties: obstruction_radius: description: 'Radius around the location that obstructs quantum travel.' type: number arrival_radius: description: 'Radius at which a ship exits quantum travel near this location.' type: number arrival_point_detection_offset: description: 'Positional offset for detecting the quantum travel arrival point.' type: number adoption_radius: description: 'Radius within which child locations are adopted into the quantum travel zone.' type: number sub_point_radius_multiplier: description: 'Multiplier applied to the sub-point radius for quantum travel calculations.' type: number type: object game_starmap_location_asteroid_ring: title: 'Game Starmap Location Asteroid Ring' description: 'Asteroid ring configuration for locations that have an asteroid belt, defining density, size, and dimensional parameters.' properties: density_scale: description: 'Scale factor controlling asteroid density within the ring.' type: number size_scale: description: 'Scale factor controlling individual asteroid size.' type: number inner_radius: description: 'Inner boundary radius of the asteroid ring.' type: number outer_radius: description: 'Outer boundary radius of the asteroid ring.' type: number depth: description: 'Vertical depth or thickness of the asteroid ring.' type: number type: object game_starmap_location_child_summary: title: 'Game Starmap Location Child Summary' description: 'Summary of a child location within a starmap hierarchy, including amenities and resource availability.' properties: uuid: description: 'Unique identifier of the child location.' type: string format: uuid name: description: 'Display name of the child location.' type: string designation: description: 'Official designation code for the child location.' type: string nullable: true web_url: description: 'Web frontend URL for the child location.' type: string format: uri type_name: description: 'Location type name (e.g. Outpost, Asteroid).' type: string type_classification: description: 'Sub-classification of the location type.' type: string nullable: true respawn_location_type: description: 'Type of respawn facility available, if any.' type: string nullable: true amenities: description: 'Amenities available at this child location.' type: array items: $ref: '#/components/schemas/game_starmap_location_amenity' amenity_labels: description: 'Simplified list of amenity display names or internal names.' type: array items: type: string has_resources: description: 'Whether this child location has harvestable resource deposits.' type: boolean type: object starmap_location_resource: title: 'Starmap Location Resource' description: 'A mineable or harvestable resource deposit at a starmap location, combining deposit configuration with commodity identity.' allOf: - $ref: '#/components/schemas/deposit_base' - properties: name: description: 'Commodity name of the resource deposit.' type: string uuid: description: 'UUID of the commodity, null for non-commodity deposits.' type: string format: uuid nullable: true tier: description: 'Rarity tier of the commodity.' type: string nullable: true link: description: 'API URL for the commodity detail endpoint.' type: string format: uri nullable: true web_url: description: 'Web frontend URL for the commodity detail page.' type: string format: uri nullable: true type: object starmap_location_mining_type_group: title: 'Starmap Location Mining Type Group' description: 'A group of mineable or harvestable deposits at a location, categorized by extraction method (e.g. mining, hand-mining, salvage).' properties: group_name: description: 'Original group name from game data identifying the deposit group.' type: string mining_type: description: 'Extraction method label (e.g. Mining, Hand Mining, Salvage).' type: string mining_type_sort_order: description: 'Sort order for mining type display ordering.' type: integer resource_kind: description: 'Kind of resource (Mineable or Harvestable).' type: string nullable: true group_probability_min: description: 'Lowest raw probability among deposits in this group (0–1).' type: number nullable: true group_probability_max: description: 'Highest raw probability among deposits in this group (0–1).' type: number nullable: true group_probability_min_percent: description: 'Lowest probability in this group as a percentage (0–100).' type: number nullable: true group_probability_max_percent: description: 'Highest probability in this group as a percentage (0–100).' type: number nullable: true resources: description: 'Individual resource deposits within this group.' type: array items: $ref: '#/components/schemas/starmap_location_resource' type: object game_starmap_location_mission_group: title: 'Game Starmap Location Mission Group' description: 'Missions associated with a starmap location, grouped by purpose.' properties: purpose: description: 'Mission purpose category (e.g. Mission, Patrol, Investigation).' type: string nullable: true missions: description: 'List of mission summaries in this group.' type: array items: $ref: '#/components/schemas/mission_summary' type: object game_starmap_location: title: 'Game Starmap Location' description: 'Versioned starmap location data imported from game starmap data.' properties: uuid: description: 'Unique identifier for this starmap location.' type: string format: uuid slug: description: 'URL-friendly slug for this location.' type: string nullable: true name: description: 'Display name of the starmap location.' type: string description: description: 'In-universe description of the location.' type: string nullable: true size: description: 'Relative size of the location.' type: number nullable: true respawn_location_type: description: 'Type of respawn facility available (e.g. Hospital, MedicalRoom).' type: string nullable: true child_count: description: 'Number of direct child locations.' type: integer has_resources: description: 'Whether this location has harvestable resource deposits.' type: boolean nullable: true mission_count: description: 'Number of available missions at this location.' type: integer is_scannable: description: 'Whether this location can be detected by ship scanners.' type: boolean hide_in_starmap: description: 'Whether this location is hidden from the in-game starmap.' type: boolean hide_in_world: description: 'Whether this location is hidden in the game world.' type: boolean block_travel: description: 'Whether quantum travel to this location is blocked.' type: boolean quantum_travel: oneOf: - $ref: '#/components/schemas/game_starmap_location_quantum_travel' nullable: true description: 'Quantum travel parameters for this location.' asteroid_ring: oneOf: - $ref: '#/components/schemas/game_starmap_location_asteroid_ring' nullable: true description: 'Asteroid ring parameters, only present on locations with asteroid rings.' system: description: 'Name of the star system this location belongs to (e.g. Stanton System).' type: string nullable: true parent: oneOf: - $ref: '#/components/schemas/game_starmap_location_linked_summary' nullable: true description: 'Parent location in the hierarchy.' star: oneOf: - $ref: '#/components/schemas/game_starmap_location_linked_summary' nullable: true description: 'Nearest star or celestial body.' children: description: 'Direct child locations. Only included when requested via `include=children`.' type: array items: $ref: '#/components/schemas/game_starmap_location_child_summary' nullable: true type: $ref: '#/components/schemas/game_starmap_location_type' jurisdiction: oneOf: - $ref: '#/components/schemas/game_starmap_location_jurisdiction' nullable: true description: 'Legal jurisdiction governing this location.' affiliation: oneOf: - $ref: '#/components/schemas/game_starmap_location_affiliation' nullable: true description: 'Faction or organization controlling this location.' amenities: description: 'Available amenities at this location.' type: array items: $ref: '#/components/schemas/game_starmap_location_amenity' tag: oneOf: - $ref: '#/components/schemas/game_starmap_location_tag' nullable: true description: 'Hierarchy entity tag for grouping and filtering.' designation: description: 'Official designation code for this location.' type: string nullable: true radar_contact_type: oneOf: - $ref: '#/components/schemas/game_starmap_location_radar_contact_type' nullable: true description: 'Radar contact classification for navigation.' link: description: "API URL for this location's detail endpoint." type: string format: uri web_url: description: 'Web frontend URL for this location.' type: string format: uri updated_at: description: 'Timestamp of the last data update.' type: string format: date-time nullable: true version: description: 'Game data version code.' type: string nullable: true images: description: 'Images from external sources for this location.' type: array items: properties: source: description: 'Image source identifier' type: string nullable: true thumbnail_url: type: string format: uri nullable: true thumbnail_width: type: integer nullable: true thumbnail_height: type: integer nullable: true original_url: type: string format: uri nullable: true original_width: type: integer nullable: true original_height: type: integer nullable: true type: object nullable: true area_boosts: description: 'Areas with boosted deposit spawn rates. Only included when requested via `include=resources`.' type: array items: $ref: '#/components/schemas/area_boost' nullable: true resources: description: 'Harvestable resource deposits grouped by extraction method. Only included when requested via `include=resources`.' type: array items: $ref: '#/components/schemas/starmap_location_mining_type_group' missions: description: 'Available missions grouped by purpose. Only included when requested via `include=missions`.' type: array items: $ref: '#/components/schemas/game_starmap_location_mission_group' nullable: true type: object game_vehicle_hardpoint_item: title: 'Vehicle Hardpoint Item v2' description: 'Deprecated: Trimmed down version of item resource, used for hardpoints in v2 API.' allOf: - properties: uuid: description: 'Unique item identifier.' type: string name: description: 'Display name of the equipped item.' type: string class_name: description: 'SC item class name (e.g. BEHR_LaserCannon_S4).' type: string link: description: 'API URL for the full item detail.' type: string size: description: 'Item size as integer.' type: integer nullable: true mass: description: 'Item mass in kg.' type: number format: double nullable: true grade: description: 'Item grade letter (A–D).' type: string nullable: true class: description: 'Item class name from game data.' type: string nullable: true manufacturer: $ref: '#/components/schemas/manufacturer_link' type: description: 'Item type with NOITEM_ prefix stripped.' type: string nullable: true type_label: description: 'Human-readable label for the item type.' type: string nullable: true sub_type: description: 'Item sub-type identifier.' type: string nullable: true sub_type_label: description: 'Human-readable label for the item sub-type.' type: string nullable: true inventory: oneOf: - $ref: '#/components/schemas/item_inventory' nullable: true description: 'Inventory container data, if the item has one.' ports: description: 'Sub-ports available on this item.' type: array items: $ref: '#/components/schemas/item_port' nullable: true updated_at: description: 'Timestamp of the last update.' type: string format: date-time nullable: true version: description: 'Game version code this item belongs to.' type: string example: 4.4.0-LIVE.12340123 nullable: true type: object - $ref: '#/components/schemas/item_related_items' game_vehicle_hardpoint: title: 'Vehicle Hardpoint v2' description: 'Deprecated: For v2 API compatibility. Ports (hardpoints) as defined in scunpacked ship files.' properties: name: description: 'Hardpoint name from scunpacked data.' type: string example: hardpoint_weapon_class2_nose position: description: 'Positional label (e.g. left, right, nose).' type: string example: left nullable: true min_size: description: 'Minimum item size the port accepts.' type: integer example: 1 nullable: true max_size: description: 'Maximum item size the port accepts.' type: integer example: 1 nullable: true class_name: description: 'SC class name of the port component.' type: string example: LFSP_TYDT_S01_ComfortAir nullable: true health: description: 'Port health points.' type: number example: 300 nullable: true type: description: 'Port type (e.g. WeaponGun, Shield, PowerPlant).' type: string example: LifeSupportGenerator nullable: true sub_type: description: 'Port sub-type identifier.' type: string example: UNDEFINED nullable: true pilot_slaveable: description: 'Whether the port can be slaved to a pilot.' type: boolean nullable: true item: oneOf: - $ref: '#/components/schemas/game_vehicle_hardpoint_item' nullable: true description: 'Equipped item details, resolved from the game database.' children: description: 'Nested child hardpoints.' type: array items: $ref: '#/components/schemas/game_vehicle_hardpoint' nullable: true version: description: 'Game version code for this data.' type: string nullable: true type: object deprecated: true game_vehicle_part: title: 'Vehicle Structure Part' description: 'Structural hierarchy for the vehicle with damage caps.' properties: name: description: 'Raw part name from scunpacked data (e.g. LEFT_WING).' type: string example: Nose display_name: description: 'Human-readable name with positional suffix (e.g. "Wing (left)").' type: string example: Nose damage_max: description: 'Maximum damage this structural part can absorb.' type: number example: 2500 nullable: true children: description: 'Nested child structural parts.' type: array items: $ref: '#/components/schemas/game_vehicle_part' nullable: true version: description: 'Game version code for this data.' type: string nullable: true type: object game_vehicle_port: title: 'Vehicle Port / Hardpoint' description: 'Ports (hardpoints) as defined in scunpacked ship files. Nested ports are supported.' properties: name: description: 'Hardpoint name from scunpacked ship data.' type: string example: hardpoint_weapon_class2_nose position: description: 'Positional label (e.g. left, right, nose).' type: string example: left nullable: true sizes: description: 'Minimum and maximum item sizes the port accepts.' properties: min: description: 'Minimum item size.' type: integer example: 1 nullable: true max: description: 'Maximum item size.' type: integer example: 1 nullable: true type: object nullable: true class_name: description: 'SC class name of the port component.' type: string example: LFSP_TYDT_S01_ComfortAir nullable: true health: description: 'Port health points.' type: number example: 300 nullable: true editable: description: 'Whether the port can be modified in-game.' type: boolean nullable: true editable_children: description: 'Whether child ports can be modified in-game.' type: boolean nullable: true equipped_item_uuid: description: 'UUID of the item currently equipped in this port.' type: string nullable: true type: description: 'Port type (e.g. WeaponGun, Shield, PowerPlant).' type: string example: LifeSupportGenerator nullable: true sub_type: description: 'Port sub-type identifier.' type: string example: UNDEFINED nullable: true subtype: description: 'Deprecated: Use sub_type.' type: string example: UNDEFINED nullable: true deprecated: true category_label: description: 'Human-readable category label. Only present on parent ports (e.g. Weapons, Shields, Thrusters).' type: string example: Weapons nullable: true compatible_types: description: 'Port compatibility list from ship data.' type: array items: properties: type: description: 'Compatible item type.' type: string example: LifeSupportGenerator nullable: true sub_types: description: 'List of compatible sub-types for this port type.' type: array items: type: string nullable: true type: object nullable: true equipped_item: oneOf: - $ref: '#/components/schemas/game_port_item' nullable: true description: 'Full details of the equipped item, resolved from the game database.' ports: description: 'Nested child ports (hardpoints).' type: array items: $ref: '#/components/schemas/game_vehicle_port' nullable: true version: description: 'Game version code for this data.' type: string nullable: true type: object vehicle_relay_entry: title: 'Relay Entry' description: 'A single relay junction with its connected hardpoints grouped by equipment category.' properties: hardpoint: description: 'Relay hardpoint name.' type: string example: hardpoint_relay_bridge class_name: description: 'Relay entity class name.' type: string example: RELAY_2slot nullable: true fuse_slots: description: 'Number of fuse slots on this relay.' type: integer example: 2 room: description: 'Room/bone name where the relay is located.' type: string example: animated_bridge nullable: true connection_count: description: 'Total number of connected hardpoints.' type: integer example: 26 connected_hardpoints: description: 'Hardpoints powered by this relay, grouped by equipment category.' type: array items: description: 'A group of connected hardpoints sharing the same equipment category.' properties: category: description: 'Equipment category label.' type: string example: Weapons count: description: 'Number of hardpoints in this group.' type: integer example: 4 items: description: 'Individual hardpoints in this group.' type: array items: description: 'A hardpoint connected to this relay.' properties: { hardpoint: { description: 'Hardpoint name.', type: string, example: hardpoint_shield_generator_l }, item_name: { description: 'Display name of the installed item.', type: string, example: Barbican, nullable: true }, class_name: { description: 'SC class name of the installed item.', type: string, example: SHLD_BASL_S03_Barbican_SCItem, nullable: true }, type: { description: 'Primary equipment type.', type: string, example: Shield, nullable: true }, uuid: { description: 'Item UUID.', type: string, nullable: true } } type: object type: object nullable: true type: object vehicle_relay_network: title: 'Relay Network' description: 'Ship relay power-distribution topology. Each relay is a fuse-protected junction that feeds connected hardpoints.' properties: total_fuses: description: 'Total fuse slots across all relays.' type: integer example: 18 nullable: true relays: description: 'Relay junction entries with their connected hardpoints.' type: array items: $ref: '#/components/schemas/vehicle_relay_entry' nullable: true links: description: 'Raw relay-to-hardpoint link edges.' type: array items: properties: from: description: 'Source hardpoint (relay).' type: string example: hardpoint_relay_bridge to: description: 'Target hardpoint.' type: string example: hardpoint_controller_shield type: object nullable: true type: object game_vehicle_turret: title: 'Turret Summary' description: 'Manned or remote turret entry as provided by the ship data.' properties: category: description: 'Turret category (manned, remote, pdc).' type: string example: manned nullable: true display_name: description: 'Human-readable turret name.' type: string example: hardpoint_turret_upper nullable: true hardpoint_name: description: 'Hardpoint name from ship data.' type: string example: hardpoint_turret_upper nullable: true part_name: description: 'Vehicle part this turret belongs to.' type: string example: hardpoint_turret_upper nullable: true turret_type: description: 'Full turret type string (e.g. TurretBase.MannedTurret).' type: string example: TurretBase.MannedTurret nullable: true class_name: description: 'SC class name of the turret component.' type: string example: ORIG_890J_SCItem_Turret_Upper nullable: true size: description: 'Turret hardpoint size.' type: integer example: 5 nullable: true turret: description: 'Whether this entry is a turret.' type: boolean example: true nullable: true gimballed: description: 'Whether the turret uses gimbal mounting.' type: boolean example: false nullable: true fixed: description: 'Whether the turret is fixed.' type: boolean example: true nullable: true mount_count: description: 'Number of weapon mounts on the turret.' type: integer example: 2 nullable: true weapon_sizes: description: 'Aggregated weapon sizes across all mounts.' type: array items: type: integer example: 5 nullable: true payload_sizes: description: 'Aggregated payload sizes across all mounts.' type: array items: type: integer example: 5 nullable: true payload_types: description: 'Aggregated payload types across all mounts.' type: array items: type: string example: WeaponGun.Gun nullable: true payload_class_names: description: 'Aggregated payload class names across all mounts.' type: array items: type: string example: BEHR_LaserCannon_S4 nullable: true mounts: description: 'Individual mount details for the turret.' type: array items: properties: display_name: description: 'Human-readable mount name.' type: string example: turret_left nullable: true hardpoint_name: description: 'Hardpoint name of the mount.' type: string example: turret_left nullable: true mount_type: description: 'Mount type string (e.g. Turret.GunTurret).' type: string example: Turret.GunTurret nullable: true class_name: description: 'SC class name of the mount component.' type: string example: Mount_Gimbal_S4 nullable: true size: description: 'Mount hardpoint size.' type: integer example: 4 nullable: true weapon_sizes: description: 'Weapon sizes accepted by this mount.' type: array items: type: integer example: 4 nullable: true payload_sizes: description: 'Payload sizes for this mount.' type: array items: type: integer example: 4 nullable: true payload_types: description: 'Payload types for this mount.' type: array items: type: string example: WeaponGun.Gun nullable: true payload_class_names: description: 'Payload class names equipped on this mount.' type: array items: type: string example: BEHR_LaserCannon_S4 nullable: true type: object nullable: true dps_total: description: 'Aggregate DPS for the turret.' type: number example: 166.7 nullable: true sustained_dps_total: description: 'Sustained DPS for the turret.' type: number example: 74.2 nullable: true alpha_total: description: 'Alpha (per-shot) damage for the turret.' type: number example: 10 nullable: true is_pilot_slaveable: description: 'Whether the turret can be slaved to pilot control.' type: boolean example: false nullable: true weapons: description: 'Per-weapon breakdown with DPS and alpha data.' type: array items: properties: uuid: description: 'Weapon UUID.' type: string example: 18b795c5-25f1-444a-86c0-b5edd7cf0118 nullable: true class_name: description: 'SC class name of the weapon.' type: string example: BEHR_LaserRepeater_PDC_S1 nullable: true name: description: 'Human-readable weapon name.' type: string example: 'M2C "Swarm"' nullable: true link: description: 'API URL for the full item detail.' type: string format: uri nullable: true dps: description: 'Weapon DPS.' type: number example: 166.7 nullable: true sustained_dps: description: 'Weapon sustained DPS.' type: number example: 74.2 nullable: true alpha: description: 'Weapon alpha damage.' type: number example: 10 nullable: true is_pilot_slaveable: description: 'Whether this weapon can be slaved to pilot control.' type: boolean example: false nullable: true type: object nullable: true version: description: 'Game version code for this data.' type: string nullable: true type: object vehicle_link: title: 'Vehicle Link' type: object allOf: - properties: uuid: description: 'Unique vehicle identifier.' type: string name: description: 'Vehicle display name.' type: string class_name: description: 'SC class name of the vehicle.' type: string example: AEGS_Avenger_Stalker career: description: 'Vehicle career (e.g. Combat, Exploration, Transport).' type: string role: description: 'Vehicle role (e.g. Stealth Fighter, Heavy Freight).' type: string size_class: description: 'Vehicle size class (1–6).' type: integer size: description: 'Deprecated: Use size_class.' type: integer deprecated: true is_vehicle: description: 'Whether this is a ground vehicle.' type: boolean is_gravlev: description: 'Whether this is a gravlev vehicle.' type: boolean is_spaceship: description: 'Whether this is a spaceship.' type: boolean manufacturer: $ref: '#/components/schemas/manufacturer_link' link: description: 'API URL for the full vehicle detail.' type: string updated_at: description: 'Timestamp of the last vehicle data update.' type: string format: date-time version: description: 'Game version code this vehicle belongs to.' type: string example: 4.4.0-LIVE.12340123 type: object - $ref: '#/components/schemas/metadata' game_vehicle: title: 'Game Vehicle' description: 'Vehicle data imported from game files for a specific game version.' properties: uuid: description: 'Unique vehicle identifier.' type: string example: b5892cde-e805-4626-94a2-89fdf6eedc1c name: description: 'Display name of the vehicle.' type: string example: 'Avenger Titan' game_name: description: 'Internal game class name.' type: string example: AEGS_Avenger_Titan nullable: true slug: description: 'URL-friendly vehicle identifier.' type: string example: avenger-titan class_name: description: 'class name.' type: string example: AEGS_Avenger_Titan manufacturer: $ref: '#/components/schemas/manufacturer_link' size_class: description: 'Vehicle size classification (1–6).' type: integer example: 2 nullable: true dimension: description: 'Vehicle physical dimensions in meters.' properties: length: description: 'Length in meters.' type: number example: 18 width: description: 'Width (beam) in meters.' type: number example: 16 height: description: 'Height in meters.' type: number example: 5 type: object sizes: description: 'Deprecated, use dimension instead.' properties: length: type: number example: 18 beam: type: number example: 16 height: type: number example: 5 type: object deprecated: true emission: description: 'Deprecated, use signature instead. Emission.ir currently maps to IR with shields active. Emission.em_max maps to EM Signature with quantum drive active. Emission.em_idle maps to EM Signature with shields active.' properties: ir: type: number example: 4412 nullable: true em_idle: type: number example: 14320 nullable: true em_max: type: number example: 30458 nullable: true type: object nullable: true deprecated: true mass: description: 'Deprecated, use mass_total instead. Mass is equal to mass_hull.' type: number example: 53531 nullable: true mass_hull: description: 'Hull mass without loadout in kg.' type: number example: 53531 nullable: true mass_loadout: description: 'Equipped loadout mass in kg.' type: number example: 0 nullable: true mass_total: description: 'Total mass (hull + loadout) in kg.' type: number example: 53531 nullable: true cargo_capacity: description: 'Cargo capacity in SCU.' type: number example: 8 nullable: true ore_capacity: description: 'Ore storage capacity in SCU.' type: number example: 96 nullable: true cargo_grids: description: 'Cargo grid containers from ship data.' type: array items: $ref: '#/components/schemas/item_inventory' nullable: true cargo_limits: description: 'Calculated cargo size limits based on grid dimensions.' properties: min: properties: x: type: number example: 1.25 nullable: true 'y': type: number example: 1.25 nullable: true z: type: number example: 1.25 nullable: true type: object nullable: true min_scu_box: description: 'Smallest standard SCU box satisfying the min item size.' type: number example: 1 nullable: true max: properties: x: type: number example: 2.5 nullable: true 'y': type: number example: 2.5 nullable: true z: type: number example: 1.25 nullable: true type: object nullable: true max_scu_box: description: 'Largest standard SCU box that fits within the max item size.' type: number example: 8 nullable: true type: object nullable: true max_scu_box: description: 'Largest standard SCU box that fits within the max item size. Powers of two: 1, 2, 4, 8, 16, 32, 64…' type: integer example: 8 nullable: true vehicle_inventory: description: 'Vehicle stowage in micro SCU' type: number example: 0 nullable: true inventory_containers: description: 'Personal inventory containers (stowage) from ship data.' type: array items: $ref: '#/components/schemas/item_inventory' nullable: true crew: description: 'Crew requirements.' properties: min: description: 'Minimum crew required to operate.' type: integer example: 1 nullable: true max: description: 'Maximum crew capacity.' type: integer example: 1 nullable: true weapon: description: 'Number of weapon crew stations.' type: integer example: 1 nullable: true operation: description: 'Number of operational crew stations.' type: integer nullable: true type: object nullable: true max_medical_tier: description: 'Highest medical bed tier available (e.g., "T2", "T3"). Null if no medical beds.' type: string example: T3 nullable: true seating: description: 'Seating and bed summary.' properties: crew_stations: description: 'Total number of crew stations.' type: integer example: 14 ejection_seats: description: 'Number of ejection seats.' type: integer example: 1 escape_pods: description: 'Number of escape pods. Null when absent.' type: integer example: 4 nullable: true jump_seats: description: 'Number of jump seats. Null when absent.' type: integer example: 4 nullable: true beds: description: 'Total number of beds.' type: integer example: 22 medical_beds: description: 'Medical bed counts by tier. Null if no medical beds.' type: object example: '{"T2": 1, "T3": 4}' nullable: true type: object is_vehicle: type: boolean example: false nullable: true is_gravlev: type: boolean example: false nullable: true is_spaceship: type: boolean example: true nullable: true health: description: 'Total vehicle health pool.' type: number example: 2500 nullable: true shield_hp: description: 'Use shield.hp property instead.' type: number example: 12000 nullable: true deprecated: true shield_face_type: description: 'Use shield.face_type property instead.' type: string example: FourFaces nullable: true deprecated: true shield: description: 'Shield system data from scunpacked.' properties: hp: description: 'Total shield hit points.' type: number example: 12000 nullable: true regeneration: description: 'Shield regeneration rate per second.' type: number example: 50 nullable: true face_type: description: 'Shield face configuration (e.g., Bubble, Quadrant).' type: string example: FourFaces nullable: true max_reallocation: description: 'Maximum shield reallocation ratio (0–1).' type: number example: 0.5 nullable: true reconfiguration_cooldown: description: 'Cooldown time for shield reconfiguration in seconds.' type: number example: 2 nullable: true max_electrical_charge_damage_rate: description: 'Maximum electrical charge damage rate.' type: number example: 100 nullable: true resistance: description: 'Shield resistance values by damage type.' properties: physical: description: 'Physical shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true energy: description: 'Energy shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true distortion: description: 'Distortion shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true thermal: description: 'Thermal shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true biochemical: description: 'Biochemical shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true stun: description: 'Stun shield resistance.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true type: object nullable: true absorption: description: 'Shield absorption values by damage type.' properties: physical: description: 'Physical shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true energy: description: 'Energy shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true distortion: description: 'Distortion shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true thermal: description: 'Thermal shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true biochemical: description: 'Biochemical shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true stun: description: 'Stun shield absorption.' properties: { minimum: { type: number, nullable: true }, maximum: { type: number, nullable: true } } type: object nullable: true type: object nullable: true type: object nullable: true weapon_snapshot: description: 'Computed weapon statistics from vehicle loadout' properties: pilot_guns_count: type: integer example: 3 turrets_manned_count: type: integer example: 0 turrets_remote_count: type: integer example: 0 turret_weapon_guns_count: type: integer example: 0 missile_rack_count: type: integer example: 2 missile_count: type: integer example: 2 countermeasures_count: type: integer example: 2 type: object nullable: true speed: description: 'Flight speed characteristics in m/s.' properties: scm: description: 'Space Combat Maneuvering speed in m/s.' type: number example: 260 max: description: 'Maximum speed in m/s.' type: number example: 1425 boost_forward: description: 'Forward boost speed in m/s.' type: number example: 610 nullable: true boost_backward: description: 'Backward boost speed in m/s.' type: number example: 280 nullable: true zero_to_scm: description: 'Time from zero to SCM speed in seconds.' type: number example: 2.04 nullable: true zero_to_max: description: 'Time from zero to max speed in seconds.' type: number example: 11.19 nullable: true scm_to_zero: description: 'Time from SCM to zero in seconds.' type: number example: 6368.27 nullable: true max_to_zero: description: 'Time from max to zero in seconds.' type: number example: 34903.01 nullable: true type: object nullable: true agility: description: 'Angular rates and acceleration characteristics.' properties: pitch: description: 'Pitch angular rate in deg/s.' type: number example: 52.5 nullable: true yaw: description: 'Yaw angular rate in deg/s.' type: number example: 48.5 nullable: true roll: description: 'Roll angular rate in deg/s.' type: number example: 180 nullable: true pitch_boosted: description: 'Pitch angular rate with boost in deg/s.' type: number example: 63 nullable: true yaw_boosted: description: 'Yaw angular rate with boost in deg/s.' type: number example: 58.2 nullable: true roll_boosted: description: 'Roll angular rate with boost in deg/s.' type: number example: 216 nullable: true acceleration: description: 'Linear acceleration values.' properties: main: description: 'Forward acceleration in m/s².' type: number example: 127.339 nullable: true retro: description: 'Retro (backward) acceleration in m/s².' type: number example: 0.041 nullable: true vtol: description: 'VTOL acceleration in m/s².' type: number example: 0 nullable: true maneuvering: description: 'Maneuvering thruster acceleration in m/s².' type: number example: 121.49 nullable: true main_g: description: 'Forward acceleration in G.' type: number example: 12.985 nullable: true retro_g: description: 'Retro acceleration in G.' type: number example: 0.004 nullable: true vtol_g: description: 'VTOL acceleration in G.' type: number example: 0 nullable: true maneuvering_g: description: 'Maneuvering acceleration in G.' type: number example: 12.389 nullable: true type: object type: object nullable: true afterburner: description: 'Afterburner properties from FlightCharacteristics.Afterburner.' properties: pitch_boost_multiplier: description: 'Pitch angular acceleration multiplier when boosting.' type: number example: 1.2 nullable: true roll_boost_multiplier: description: 'Roll angular acceleration multiplier when boosting.' type: number example: 1.2 nullable: true yaw_boost_multiplier: description: 'Yaw angular acceleration multiplier when boosting.' type: number example: 1.2 nullable: true capacitor: description: 'Maximum afterburner capacitor capacity.' type: number example: 20 nullable: true idle_cost: description: 'Afterburner capacitor idle drain per second.' type: number example: 1 nullable: true linear_cost: description: 'Afterburner capacitor cost for linear thrust.' type: number example: 0 nullable: true angular_cost: description: 'Afterburner capacitor cost for angular thrust.' type: number example: 0 nullable: true regen_per_second: description: 'Capacitor regeneration per second.' type: number example: 0.75 nullable: true regen_delay_after_use: description: 'Delay before regeneration starts after use in seconds.' type: number example: 0.2 nullable: true pre_delay_time: description: 'Pre-delay time before afterburner engages in seconds.' type: number example: 0 nullable: true ramp_up_time: description: 'Ramp-up time to full afterburner in seconds.' type: number example: 0.4 nullable: true ramp_down_time: description: 'Ramp-down time from afterburner in seconds.' type: number example: 0.2 nullable: true regen_time: description: 'Total time to fully regenerate capacitor in seconds.' type: number example: 26.67 nullable: true regen_delay: description: 'Delay before capacitor regeneration in seconds.' type: number example: 0.2 nullable: true type: object nullable: true fuel: description: 'Hydrogen fuel capacity, intake rate, and usage.' properties: capacity: description: 'Total hydrogen fuel capacity.' type: number example: 9 intake_rate: description: 'Fuel intake rate from scoops.' type: number example: 22 nullable: true usage: description: 'Fuel consumption rates by thruster type.' properties: main: description: 'Main engine fuel consumption rate.' type: number example: 40.1177 nullable: true retro: description: 'Retro thruster fuel consumption rate.' type: number example: 0.0128 nullable: true vtol: description: 'VTOL fuel consumption rate.' type: number example: 0 nullable: true maneuvering: description: 'Maneuvering thruster fuel consumption rate.' type: number example: 18.5981 nullable: true type: object nullable: true type: object nullable: true quantum: description: 'Quantum travel system parameters.' properties: quantum_speed: description: 'Quantum travel speed in m/s.' type: number example: 165000000 nullable: true quantum_spool_time: description: 'Quantum drive spool-up time in seconds.' type: number example: 4 nullable: true quantum_fuel_capacity: description: 'Quantum fuel capacity.' type: number example: 1.1 nullable: true quantum_range: description: 'Maximum quantum travel range in meters.' type: number example: 112244897.9592 nullable: true port_olisar_to_arccorp_time: description: 'Reference travel time from Port Olisar to ArcCorp in seconds.' type: number example: 254.105158 nullable: true port_olisar_to_arccorp_fuel: description: 'Reference fuel usage from Port Olisar to ArcCorp.' type: number example: 410.888040486 nullable: true type: object nullable: true drive: description: 'Ground vehicle drive characteristics (speed, wheels, agility). Only present for wheeled/tracked ground vehicles.' properties: max_speed_kph: description: 'Maximum speed in km/h.' type: number example: 295.77 nullable: true max_speed_ms: description: 'Maximum speed in m/s.' type: number example: 82.16 nullable: true reverse_speed_kph: description: 'Reverse speed in km/h.' type: number example: 25.2 nullable: true reverse_speed_ms: description: 'Reverse speed in m/s.' type: number example: 7 nullable: true is_tracked: description: 'Whether the vehicle uses tracks instead of wheels.' type: boolean example: false nullable: true wheels: description: 'Wheel configuration summary.' properties: count: description: 'Total number of wheels.' type: integer example: 4 nullable: true driving_count: description: 'Number of driven wheels.' type: integer example: 4 nullable: true steering_count: description: 'Number of steered wheels.' type: integer example: 2 nullable: true drive_type: description: 'Drive configuration (e.g. AWD, RWD, Unknown).' type: string example: AWD nullable: true type: object nullable: true agility: description: 'Handling, grip, and acceleration scores (0–1 scale).' properties: handling: description: 'Handling score (0–1).' type: number example: 0.5 nullable: true grip: description: 'Grip score (0–1).' type: number example: 0.1875 nullable: true acceleration: description: 'Acceleration score (0–1).' type: number example: 1 nullable: true type: object nullable: true type: object nullable: true armor: oneOf: - $ref: '#/components/schemas/vehicle_armor' nullable: true description: 'Vehicle armor data from ArmorResource. Deprecated plural key aliases (signal_multipliers, damage_multipliers, resistance_multipliers) are emitted for backward compatibility.' propulsion: description: 'Vehicle propulsion thruster data.' properties: thrusters: description: 'Array of thruster groups by type.' type: array items: properties: type: { description: 'Thruster type (Main, Maneuver, Retro, etc).', type: string, example: Main } count: { description: 'Number of thrusters of this type.', type: integer, example: 1 } capacity: { description: 'Thruster capacity.', type: number, example: 8.65, nullable: true } g: { description: 'G-force rating.', type: number, example: 14.19, nullable: true } type: object thrust_capacity: description: 'Directional thrust capacity values.' properties: main: description: 'Main engine thrust in Newtons.' type: number example: 3566000 nullable: true retro: description: 'Retro thruster thrust in Newtons.' type: number example: 890000 nullable: true vtol: description: 'VTOL thruster thrust in Newtons.' type: number example: 0 nullable: true maneuvering: description: 'Maneuvering thruster thrust in Newtons.' type: number example: 1200000 nullable: true type: object nullable: true type: object nullable: true weaponry: description: 'Computed weapon DPS and damage statistics from scunpacked.' properties: pilot_dps: description: 'Total pilot weapon DPS.' type: number example: 1200.5 nullable: true pilot_alpha: description: 'Total pilot weapon alpha damage.' type: number example: 350 nullable: true pilot_sustained_dps: description: 'Total pilot weapon sustained DPS.' type: number example: 980 nullable: true turret_dps: description: 'Total turret weapon DPS.' type: number nullable: true turret_alpha: description: 'Total turret weapon alpha damage.' type: number nullable: true turret_sustained_dps: description: 'Total turret weapon sustained DPS.' type: number nullable: true fixed_weapons: description: 'Fixed weapon aggregate stats.' properties: dps_total: type: number nullable: true sustained_dps_total: type: number nullable: true alpha_total: type: number nullable: true weapons: type: array items: { properties: { name: { type: string, nullable: true }, dps: { type: number, nullable: true }, sustained_dps: { type: number, nullable: true }, alpha: { type: number, nullable: true } }, type: object } nullable: true type: object nullable: true missiles: description: 'Missile statistics.' properties: count: type: integer example: 4 nullable: true damage: properties: { physical: { type: number, nullable: true }, energy: { type: number, nullable: true }, distortion: { type: number, nullable: true }, thermal: { type: number, nullable: true }, biochemical: { type: number, nullable: true }, stun: { type: number, nullable: true }, total: { type: number, nullable: true } } type: object nullable: true type: object nullable: true total_missile_damage: description: 'Total missile damage.' type: integer example: 8 nullable: true type: object nullable: true insurance: description: 'Insurance claim times and expedite costs.' properties: claim_time: description: 'Standard claim time in minutes.' type: number example: 4.05 nullable: true expedite_time: description: 'Expedited claim time in minutes.' type: number example: 1.35 nullable: true expedite_cost: description: 'Cost to expedite the claim in aUEC.' type: number example: 2343 nullable: true type: object nullable: true damage_limits: properties: before_destruction: description: 'Map of part name => damage capacity before destruction.' type: object example: Nose: 2500 Body: 2500 nullable: true before_detach: description: 'Map of part name => damage before detachment.' type: object example: WingTipLeft: 1000 WingTipRight: 1000 nullable: true type: object nullable: true ports: description: 'Equipment ports from ship loadout. Only included on show route, excluded from index route.' type: array items: $ref: '#/components/schemas/game_vehicle_port' nullable: true hardpoints: description: 'Legacy v2 equipment hardpoints from ship loadout. Only included on show route via legacy v2 API, excluded from index route. Use `ports` in current API.' type: array items: $ref: '#/components/schemas/game_vehicle_hardpoint' nullable: true parts: type: array items: $ref: '#/components/schemas/game_vehicle_part' nullable: true turrets: properties: manned: type: array items: $ref: '#/components/schemas/game_vehicle_turret' nullable: true remote: type: array items: $ref: '#/components/schemas/game_vehicle_turret' nullable: true pdc: type: array items: $ref: '#/components/schemas/game_vehicle_turret' nullable: true type: object nullable: true cross_section: description: 'Vehicle cross-section dimensions from scunpacked.' properties: length: description: 'Cross-section length (X axis).' type: number example: 18 nullable: true width: description: 'Cross-section width (Y axis).' type: number example: 16 nullable: true height: description: 'Cross-section height (Z axis).' type: number example: 5 nullable: true type: object nullable: true cross_section_max: description: 'Derived: maximum cross-section dimension (max of x, y, z)' type: number example: 18 nullable: true signature: description: 'EM and IR signature data from scunpacked.' properties: ir_quantum: description: 'Infrared signature with quantum drive active.' type: number example: 4412 nullable: true ir_shields: description: 'Infrared signature with shields active.' type: number example: 14320 nullable: true em_quantum: description: 'Electromagnetic signature with quantum drive active.' type: number example: 30458 nullable: true em_shields: description: 'Electromagnetic signature with shields active.' type: number example: 14320 nullable: true em_groups_quantum: description: 'EM signature groups with quantum drive active.' type: array items: type: number nullable: true em_groups_shields: description: 'EM signature groups with shields active.' type: array items: type: number nullable: true em_segment_groups_quantum: description: 'EM segment groups with quantum drive active.' type: array items: type: number nullable: true em_segment_groups_shields: description: 'EM segment groups with shields active.' type: array items: type: number nullable: true em_per_segment: description: 'EM signature per segment.' type: number nullable: true type: object nullable: true cooling: description: 'Cooling system segment allocation.' properties: generation_segments: description: 'Total cooling generation segments available.' type: number nullable: true usage_shields_pct: description: 'Percentage of cooling used by shields.' type: number nullable: true usage_quantum_pct: description: 'Percentage of cooling used by quantum drive.' type: number nullable: true used_segments_shields: description: 'Cooling segments consumed by shields.' type: number nullable: true used_segments_quantum: description: 'Cooling segments consumed by quantum drive.' type: number nullable: true used_segments_shields_grouped: description: 'Grouped cooling segments for shields.' type: array items: type: number nullable: true used_segments_quantum_grouped: description: 'Grouped cooling segments for quantum drive.' type: array items: type: number nullable: true type: object nullable: true power: description: 'Power system segment allocation.' properties: generation_segments: description: 'Total power generation segments available.' type: number nullable: true used_segments_shields: description: 'Power segments consumed by shields.' type: number nullable: true used_segments_quantum: description: 'Power segments consumed by quantum drive.' type: number nullable: true used_segments_grouped: description: 'Grouped power segments consumed.' type: array items: type: number nullable: true type: object nullable: true power_pools: description: 'Power pool allocation limits by component type. Size of -1 indicates unlimited pool.' type: object example: WeaponGun: type: FixedPowerPool item_type: WeaponGun size: 4 Shield: type: DynamicPowerPool item_type: Shield size: 2 FlightController: type: DynamicPowerPool item_type: FlightController size: -1 nullable: true additionalProperties: properties: type: type: string example: FixedPowerPool item_type: type: string example: WeaponGun size: description: 'Power pool size. -1 indicates unlimited.' type: integer example: 4 type: object nullable: true penetration_multiplier: description: 'Penetration multiplier values for fuse and components.' properties: fuse: description: 'Fuse penetration multiplier.' type: number nullable: true components: description: 'Components penetration multiplier.' type: number nullable: true type: object nullable: true relay_network: oneOf: - $ref: '#/components/schemas/vehicle_relay_network' nullable: true career: description: 'Primary career classification (see GET /api/vehicles/filters for valid values).' type: string example: 'Light Freight' nullable: true role: description: 'Specific role within the career (see GET /api/vehicles/filters for valid values).' type: string example: Combat nullable: true web_url: type: string example: 'https://example.com/vehicles/uuid' nullable: true link: type: string example: 'https://api.example.com/vehicles/uuid' description: oneOf: - $ref: '#/components/schemas/translation' nullable: true description: 'Ship-Matrix vehicle description' id: description: 'Ship-Matrix CIG ID' type: integer nullable: true chassis_id: description: 'Ship-Matrix chassis ID' type: integer nullable: true shipmatrix_name: description: 'Ship-Matrix vehicle name' type: string nullable: true foci: description: 'Ship-Matrix vehicle foci/roles' type: array items: $ref: '#/components/schemas/translation' nullable: true production_status: oneOf: - $ref: '#/components/schemas/translation' nullable: true description: 'Ship-Matrix production status' production_note: oneOf: - $ref: '#/components/schemas/translation' nullable: true description: 'Ship-Matrix production note' type: oneOf: - $ref: '#/components/schemas/translation' nullable: true description: 'Ship-Matrix vehicle type' msrp: description: 'Ship-Matrix MSRP in USD' type: number nullable: true pledge_url: description: 'Link to RSI pledge store' type: string nullable: true loaner: description: 'Ship-Matrix loaner vehicles' type: array items: $ref: '#/components/schemas/vehicle_loaner' nullable: true skus: description: 'Ship-Matrix SKUs' type: array items: $ref: '#/components/schemas/vehicle_sku' nullable: true components: description: 'Ship-Matrix components (only included when ?include=components)' type: array items: $ref: '#/components/schemas/vehicle_component' nullable: true uex_prices: description: 'Vehicle purchase and rental prices from UEX Corp API.' properties: purchase: description: 'Purchase prices from UEX Corp.' type: array items: properties: terminal_id: { description: 'UEX terminal ID', type: integer } terminal_code: { type: string, nullable: true } terminal_name: { type: string } starmap_location_uuid: { type: string, nullable: true } price_buy: { type: number, format: double } game_version: { description: 'Game version this price applies to, e.g. 4.7.1', type: string, nullable: true } date_updated: { type: string, format: date-time } link: { description: 'API URL for the starmap location', type: string, nullable: true } web_url: { description: 'Web URL for the starmap location', type: string, nullable: true } starmap_location: { description: 'Expanded starmap location data', properties: { name: { type: string }, slug: { type: string, nullable: true }, type_name: { type: string, nullable: true }, parent_name: { type: string, nullable: true }, star_system_name: { type: string, nullable: true } }, type: object, nullable: true } type: object rental: description: 'Rental prices from UEX Corp.' type: array items: properties: terminal_id: { description: 'UEX terminal ID', type: integer } terminal_code: { type: string, nullable: true } terminal_name: { type: string } starmap_location_uuid: { type: string, nullable: true } price_rent: { type: number, format: double } game_version: { description: 'Game version this price applies to, e.g. 4.7.1', type: string, nullable: true } date_updated: { type: string, format: date-time } link: { description: 'API URL for the starmap location', type: string, nullable: true } web_url: { description: 'Web URL for the starmap location', type: string, nullable: true } starmap_location: { description: 'Expanded starmap location data', properties: { name: { type: string }, slug: { type: string, nullable: true }, type_name: { type: string, nullable: true }, parent_name: { type: string, nullable: true }, star_system_name: { type: string, nullable: true } }, type: object, nullable: true } type: object type: object images: description: 'Images from external sources for this vehicle.' type: array items: properties: source: description: 'Image source identifier' type: string example: starcitizen.tools thumbnail_url: type: string nullable: true thumbnail_width: type: integer nullable: true thumbnail_height: type: integer nullable: true original_url: type: string nullable: true original_width: type: integer nullable: true original_height: type: integer nullable: true type: object nullable: true updated_at: description: 'Timestamp of last data update.' type: string version: description: 'Game version code this data applies to.' type: string example: 4.4.0-LIVE.12340123 type: object version_changelog: title: 'Version Changelog' properties: from_version: $ref: '#/components/schemas/game_version' to_version: $ref: '#/components/schemas/game_version' summary: description: 'Change counts keyed by entity type (item, vehicle, blueprint, mission, starmap_location)' type: object additionalProperties: properties: added: type: integer example: 47 removed: type: integer example: 12 modified: type: integer example: 234 type: object type: object version_diff_entry: title: 'Version Diff Entry' properties: entity_type: type: string example: item entity_id: type: integer example: 42 change_type: type: string example: modified column_changes: type: object example: '{"name": {"old": "Old Name", "new": "New Name"}}' data_changes: type: object example: '{"stdItem.Mass": {"old": 5, "new": 7}}' type: object weapon_damage: title: 'Weapon Damage' description: 'Individual damage type with value' properties: type: type: string nullable: true name: type: string nullable: true damage: type: number format: double nullable: true type: object metadata: title: Metadata description: 'Information about version and update date' properties: updated_at: description: 'Timestamp this data was last updated.' type: string format: date-time version: description: 'The Game Version this item exists in.' type: string deprecated_fields: description: 'Deprecated fields that will be removed in future versions.' type: string type: object comm_link_link: title: 'Comm-Link Link' description: "An external hyperlink found within a Comm-Link's content." properties: href: description: 'The URL the link points to.' type: string format: uri example: 'http://robertsspaceindustries.com/forums/' text: description: 'Display text of the hyperlink.' type: string example: forums type: object comm_link: title: Comm-Link description: 'A Spectrum Comm-Link published by Cloud Imperium Games on robertsspaceindustries.com.' properties: id: description: 'CIG identifier for the Comm-Link' type: integer example: 12663 title: description: 'Title of the Comm-Link' type: string example: 'This Week in Star Citizen' rsi_url: description: 'Link to the Comm-Link on the RSI website.' type: string format: uri api_url: description: 'API URL for this Comm-Link resource.' type: string format: uri api_public_url: description: 'Public web URL for this Comm-Link on the API portal.' type: string format: uri channel: description: 'Publishing channel, e.g. Engineering, Transmission.' type: string example: Engineering category: description: 'Content category, e.g. General, Community, Lore, Development.' type: string example: General series: description: 'Series the Comm-Link belongs to, e.g. Around the Verse, 10 For the Chairman.' type: string example: 'Around the Verse' images: description: 'Included images when the `images` relation is loaded.' type: array items: $ref: '#/components/schemas/comm_link_image' images_count: description: 'Total number of images associated with this Comm-Link.' type: integer example: 5 links: description: 'Included links when the `links` relation is loaded.' type: array items: $ref: '#/components/schemas/comm_link_link' links_count: description: 'Total number of external links in the Comm-Link content.' type: integer example: 3 comment_count: description: 'Number of comments on the original RSI post.' type: integer example: 42 created_at: description: 'ISO 8601 timestamp of when the Comm-Link was published.' type: string format: date-time translations: $ref: '#/components/schemas/translation' created_at_human: description: 'Human-readable relative time since publication.' type: string example: '1 hour ago' type: object comm_link_image: title: 'Comm-Link Image' description: 'An image embedded in a Comm-Link, sourced from the RSI media CDN.' properties: id: description: 'Internal database identifier.' type: integer name: description: 'File name or path segment of the image.' type: string example: Starshipbridge.jpg rsi_url: description: 'Full URL to the image on the RSI media CDN.' type: string format: uri example: /media/bluo97w6u7n1ur/source/Starshipbridge.jpg api_url: description: 'API URL for this image resource.' type: string format: uri nullable: true alt: description: 'Alternative text for the image.' type: string size: description: 'File size in bytes.' type: integer example: 1504015 mime_type: description: 'MIME type of the image file.' type: string example: image/jpeg last_modified: description: 'ISO 8601 timestamp of when the image was last modified on the CDN.' type: string format: date-time tags: description: 'Tags associated with the image when the `tags` relation is loaded.' type: array items: properties: name: description: 'Tag name.' type: string translated_name: description: 'Translated tag name.' type: string nullable: true images_count: description: 'Number of images sharing this tag.' type: integer type: object nullable: true similar_url: description: 'API URL to find visually similar images.' type: string format: uri comm_links: description: 'Comm-Links that reference this image, included when the `commLinks` relation is loaded.' type: array items: properties: id: description: 'CIG identifier of the Comm-Link' type: integer title: description: 'Title of the Comm-Link' type: string api_url: description: 'API URL for this Comm-Link resource.' type: string format: uri web_url: description: 'Public web URL for this Comm-Link.' type: string format: uri type: object nullable: true duplicates: description: 'Duplicate images that share the same base image, included when the `duplicates` relation is loaded.' type: array items: properties: id: description: 'Internal database ID of the duplicate image' type: integer name: description: 'File name of the duplicate image' type: string type: object nullable: true base_image: description: 'The original image this is a duplicate of, included when the `baseImage` relation is loaded.' properties: id: description: 'Internal database ID of the base image' type: integer name: description: 'File name of the base image' type: string type: object nullable: true similarity: description: 'Similarity percentage to the search image. Only present in reverse image search results.' type: integer nullable: true type: object galactapedia_article: title: 'Galactapedia Article' description: 'An article from the Galactapedia' properties: id: description: 'CIG identifier' type: string title: type: string slug: type: string thumbnail: type: string nullable: true type: description: 'Alias for template, the first template name' type: string nullable: true template: type: string nullable: true category: description: 'Comma-separated category names' type: string nullable: true tag: description: 'Comma-separated tag names' type: string nullable: true rsi_url: type: string api_url: type: string web_url: type: string created_at: type: string categories: type: array items: $ref: '#/components/schemas/galactapedia_category' categories_count: description: 'Number of categories (present when sorting by categories_count)' type: integer nullable: true tags: type: array items: $ref: '#/components/schemas/galactapedia_tag' tags_count: description: 'Number of tags (present when sorting by tags_count)' type: integer nullable: true properties: type: array items: $ref: '#/components/schemas/galactapedia_property' related_articles: type: array items: $ref: '#/components/schemas/galactapedia_related_article' related_articles_count: description: 'Number of related articles (present when sorting by related_articles_count)' type: integer nullable: true translations: oneOf: - type: string - type: array items: $ref: '#/components/schemas/translation' created_at_human: type: string example: '1 hour ago' type: object galactapedia_category: title: 'Galactapedia article category' description: 'Category of an article' properties: id: type: string name: type: string type: object galactapedia_property: title: 'Galactapedia article property' description: 'Property of an article' properties: name: type: string value: type: string type: object galactapedia_related_article: title: 'Galactapedia related article' description: 'Related article for this galactapedia article' properties: id: type: string title: type: string url: type: string api_url: type: string type: object galactapedia_tag: title: 'Galactapedia article tag' description: 'Tag of an article' properties: id: type: string name: type: string type: object shipmatrix_manufacturer_link: title: 'Link to the detail page of a Ship-Matrix manufacturer' properties: id: type: integer name: type: string code: type: string type: object affiliation: title: Affiliation properties: id: type: string name: type: string code: type: string color: type: string type: object celestial_object: title: 'Celestial Object' properties: id: type: integer code: type: string system_id: type: integer celestial_object_api_url: type: string web_url: type: string name: type: string type: type: string age: type: integer habitable: type: boolean fairchanceact: type: boolean appearance: type: string designation: type: string distance: type: number format: float latitude: type: number format: float longitude: type: number format: float axial_tilt: type: number format: float orbit_period: type: number format: float info_url: type: string description: type: object sensor: properties: population: type: number format: float economy: type: number format: float danger: type: number format: float type: object size: type: number format: float parent_id: type: integer starsystem: properties: id: type: integer nullable: true code: type: string nullable: true name: type: string nullable: true type: object nullable: true time_modified: type: string type: object jumppoint: title: Jumppoint description: 'A jumppoint from the starmap' properties: id: type: integer size: type: string direction: type: string entry: properties: id: type: integer system_id: type: string system_api_url: type: string celestial_object_api_url: type: string status: type: string code: type: string designation: type: string type: object exit: properties: id: type: integer system_id: type: string system_api_url: type: string celestial_object_api_url: type: string status: type: string code: type: string designation: type: string type: object type: object starsystem: title: Starsystem properties: id: type: integer code: type: string system_api_url: type: string name: type: string status: type: string type: type: string web_url: type: string position: properties: x: type: number format: float 'y': type: number format: float z: type: number format: float type: object frost_line: type: number format: float habitable_zone_inner: type: number format: float habitable_zone_outer: type: number format: float info_url: type: string description: type: object aggregated: properties: size: type: number format: float population: type: number format: float economy: type: number format: float danger: type: number format: float stars: type: integer planets: type: integer moons: type: integer stations: type: integer type: object time_modified: type: string celestial_object: properties: celestial_object: properties: data: $ref: '#/components/schemas/celestial_object' type: object nullable: true type: object nullable: true jumppoints: properties: jumppoints: properties: data: $ref: '#/components/schemas/jumppoint' type: object nullable: true type: object nullable: true type: object stat: title: 'RSI Stats' description: 'Statistics about Star Citizen crowdfunding: fans, fleet, and funds (USD)' properties: funds: description: 'Crowdfunding funds raised in USD' type: number format: float example: 962878547.56 fans: description: 'Number of registered fans' type: integer example: 6433852 fleet: description: 'Total Star Citizen fleet size' type: integer example: 6433852 timestamp: description: 'When the snapshot was taken' type: string format: date-time example: '2026-04-13T00:00:00Z' nullable: true type: object vehicle_component: title: 'Vehicle Component' description: 'Components from in-game files' properties: type: type: string name: type: string mounts: type: integer component_size: type: integer category: type: string size: type: integer details: type: string quantity: type: integer manufacturer: type: string component_class: type: string type: object shipmatrix_vehicle_link: title: 'Ship-Matrix Vehicle Link' type: object allOf: - properties: id: type: integer name: type: string slug: type: string size: $ref: '#/components/schemas/translation' type: $ref: '#/components/schemas/translation' manufacturer: $ref: '#/components/schemas/shipmatrix_manufacturer_link' production_status: $ref: '#/components/schemas/translation' link: type: string updated_at: type: string type: object - $ref: '#/components/schemas/metadata' vehicle_loaner: title: 'Vehicle Loaner' properties: uuid: description: 'Unique vehicle identifier.' type: string nullable: true name: type: string slug: description: 'URL-friendly vehicle identifier.' type: string nullable: true link: type: string version: type: string type: object ship_matrix_vehicle: title: 'Ship Matrix Vehicle' description: 'Ship Matrix vehicle' properties: id: type: integer chassis_id: type: integer name: type: string slug: type: string sizes: properties: length: type: number format: float beam: type: number format: float height: type: number format: float type: object deprecated: true dimension: properties: length: type: number format: float width: type: number format: float height: type: number format: float type: object mass: type: number format: float cargo_capacity: description: 'Cargo Capacity in SCU' type: number format: float nullable: true crew: properties: min: type: integer max: type: integer type: object speed: properties: scm: type: number format: float nullable: true max: type: number format: float nullable: true type: object agility: properties: pitch: type: number format: float yaw: type: number format: float roll: type: number format: float acceleration: properties: x_axis: type: number format: float y_axis: type: number format: float z_axis: type: number format: float type: object type: object foci: type: array items: $ref: '#/components/schemas/translation' production_status: $ref: '#/components/schemas/translation' production_note: $ref: '#/components/schemas/translation' type: $ref: '#/components/schemas/translation' description: $ref: '#/components/schemas/translation' size: $ref: '#/components/schemas/translation' msrp: description: 'MSRP imported from the Ship Upgrade tool.' type: number format: float nullable: true pledge_url: description: 'Link to RSI Pledge Store' type: string nullable: true skus: type: array items: $ref: '#/components/schemas/vehicle_sku' manufacturer: properties: code: type: string name: type: string type: object updated_at: type: string components: description: 'Components imported from the Ship-Matrix' type: array items: $ref: '#/components/schemas/vehicle_component' loaner: type: array items: $ref: '#/components/schemas/vehicle_loaner' link: description: 'Link to detail endpoint' type: string type: object vehicle_sku: title: 'Vehicle SKU' properties: title: type: string price: type: integer available: type: boolean imported_at: type: string format: date-time type: object translation: title: 'Grouped Translations' description: 'Translations of an entity' properties: en: type: string de: type: string zh: type: string type: object translation_single: title: 'Single Translation' description: 'Translation of an entity' type: string parameters: comm_link_includes: name: include in: query explode: false allowReserved: true schema: description: 'Available Comm-Link includes' type: array items: type: string enum: - images - links page: name: page in: query description: 'Page number for pagination (starts at 1).' required: false schema: type: integer default: 1 minimum: 1 page_number: name: 'page[number]' in: query description: 'Page number for pagination (starts at 1).' required: false schema: type: integer default: 1 minimum: 1 page_size: name: 'page[size]' in: query description: 'Number of results to return per page.' required: false schema: type: integer default: 30 maximum: 200 minimum: 1 locale: name: locale in: query description: 'Locale code for translated fields (e.g. en, de, zh).' required: false schema: type: string include: name: include in: query description: 'Comma-separated list of relationships to include (e.g. manufacturer,translations).' required: false explode: false allowReserved: true schema: type: string sort: name: sort in: query description: 'Comma-separated list of fields to sort by. Prefix with - for descending order (e.g. -name,size).' required: false explode: false allowReserved: true schema: type: string version: name: version in: query description: 'Game version to get data from, if omitted uses default version.' required: false explode: false allowReserved: true schema: type: string securitySchemes: sanctum: type: http bearerFormat: JWT scheme: bearer tags: - name: In-Game description: In-Game - name: Blueprints description: Blueprints - name: Commodities description: Commodities - name: Factions description: Factions - name: 'Game Version' description: 'Game Version' - name: Items description: Items - name: Search description: Search - name: Manufacturers description: Manufacturers - name: Missions description: Missions - name: Starmap description: Starmap - name: Vehicles description: Vehicles - name: Comm-Links description: Comm-Links - name: RSI-Website description: RSI-Website - name: Images description: Images - name: Galactapedia description: Galactapedia - name: Stats description: Stats - name: Ship-Matrix description: Ship-Matrix