Skip to content
Contractsv1.14.0

Item

Grants a specified quantity of a Rust item to the player when the reward is claimed.

{
"type": "Item",
"title": "",
"description": "",
"eligiblePermissions": [],
"item": "scrap",
"quantity": 250,
"skinId": null,
"itemName": null,
"itemNameTranslations": null
}
FieldTypeDescription
typestringExactly 'Item'
itemstringRust item shortNames, lowercase dotted (e.g. rifle.ak, rifle.bolt, wood, stones, metal.fragments, scrap, hqm, lowgradefuel).
quantityinteger (min 1)Number of items granted.
skinId ⭐ Premiuminteger | null (min 0)Skin applied to the granted item, given as the skin's workshop ID. null for the item's default look.
itemName ⭐ Premiumstring | nullCustom name to apply to the item. Separate from title, which names the reward in the menu. null or blank leaves the item's own name.
itemNameTranslations ⭐ Premiummap | nullPer-language overrides for itemName, mapping a language code (like "fr" or "zh-CN") to the translated text. Players whose language has no entry (matched case-insensitively, no region fallback) or a blank one see itemName instead. null when there are none.
Shared fields (5)
FieldTypeDescription
titlestringDisplay name. May be empty to use the reward type's default name (recommended for most rewards).
titleTranslationsmap | nullPer-language overrides for title, mapping a language code (like "fr" or "zh-CN") to the translated text. Players whose language has no entry (matched case-insensitively, no region fallback) or a blank one see title instead. null when there are none.
descriptionstringA short blurb of 1 to 3 sentences. May be empty.
descriptionTranslationsmap | nullPer-language overrides for description, mapping a language code (like "fr" or "zh-CN") to the translated text. Players whose language has no entry (matched case-insensitively, no region fallback) or a blank one see description instead. null when there are none.
eligiblePermissions ⭐ Premiumstring[]Permission strings that gate this reward, using any-of logic: a non-empty list grants the reward to any player holding at least one of the listed permissions. An empty array means everyone is eligible.
  • ⭐ Premium skinId, itemName and itemNameTranslations only work on the Full edition. On Lite the item keeps its default look and name, both in the player’s inventory and in the menu. Your values stay in the file and start working when you upgrade.
  • item must be a valid Rust item shortname (or item id), or the reward is treated as invalid.
  • If title is left empty, the reward displays a default name.
  • A skinned or named item does not stack with a plain one. That is the game’s own rule and figuring out custom stacking is out of scope for Contracts.
  • itemName goes on the item itself, while title names the reward in the menu. Setting only itemName also gives the menu something better than the plain item name.
  • If using itemNameTranslations, the item’s name will be translated for the player receiving the item. It will stay translated as-is and not re-translated if another player picks it up.