Object reference The request bodies, response bodies, shared types, and enum values used across the API.
This page is the canonical schema dictionary for the API. Endpoint pages link here for the full shape of each object.
Field names are camelCase on the wire. The tables below use that casing.
Enums serialize as integers , not strings. A field typed as an enum comes back as a number; each enum's values are listed under Enums . This is the authoritative statement of that rule for the whole REST reference.
Money fields are Linden Dollar (L$) amounts expressed as integers.
UUIDs are Second Life UUIDs , sent as their string GUID form (for example a1b2c3d4-e5f6-4789-9abc-def012345678).
Dates are ISO 8601 timestamps in UTC (for example 2026-04-27T15:42:00Z).
The type field of a Discount .
Value Name 0Percent 1Flat 2Override
The scope field of an ApplyCouponRequest and a RevokeCouponRequest . The matching AppliedCouponResponse returns the scope as a string ("store" or "product") rather than the integer.
Value Name 0store-wide 1product
The type field of a VendorResponse and an UpdateVendorRequest .
Value Name 0Default 1MultiMenuVendor 2Multivendor 4GachaVendor
The clickAction field of a VendorResponse and an UpdateVendorRequest . It sets the object's click action inworld.
Value Name 0Touch 1Sit 2Buy 3Pay 4Open 5Play 6OpenMedia 7Zoom 8Disabled 9Ignore
The Second Life permission flags on a product.
Field Type Notes copyboolean Copy permission. modifyboolean Modify permission. transferboolean Transfer permission.
A discount attached to a product.
Field Type Notes valueinteger The discount amount. Its meaning depends on type. typeinteger A DiscountType value (0, 1, or 2). startDatestring When the discount starts (UTC). endDatestring When the discount ends (UTC).
{
"value" : 10 ,
"type" : 0 ,
"startDate" : "2026-04-01T00:00:00Z" ,
"endDate" : "2026-05-01T00:00:00Z"
}
The store's purchase-bonus configuration, returned on StoreResponse .
Field Type Notes baseBonusinteger Base bonus percentage (0 to 100). groupBonusinteger Bonus percentage for residents in the store group (0 to 100). creditExpiryDaysinteger or null How long bonus credit lasts after a customer earns it, in days (1 to 3650). One expiry covers both bonus percentages; null when bonus credit never expires.
The shape of each entry in a ProductUpsertRequest 's profitShares array.
Field Type Notes usernamestring The recipient's Second Life username. Accepted but not required; the share is matched on userUuid. userUuidstring (UUID) The recipient's Second Life UUID. This is the field the share is applied by. percentinteger The recipient's share percentage.
The shape of each entry in a ProductResponse 's profitShares array.
Field Type Notes userUuidstring (UUID) The recipient's Second Life UUID. percentinteger The recipient's share percentage.
Field Type Notes idstring (UUID) The product's UUID. namestring The product name. priceinteger or null The listed price in L$. activePriceinteger or null The price after any active discount, in L$. imagestring (UUID) or null The product image texture UUID. bloggableboolean Whether bloggers can retrieve the product. activeboolean Whether the product is active. blockCreditsboolean Whether store credit is blocked for the product. itemstring or null The inworld item name. limitedboolean Whether the product has a limited stock count. availableAmountinteger The remaining stock when limited is true. permissionsPermissions The Second Life permission flags. discountDiscount or nullThe product's discount, if any. descriptionstring or null The product description. demoIdstring (UUID) or null The linked demo product's UUID. mpListinginteger (int64) or null The id of the associated Second Life Marketplace listing, or null if the product has no linked listing. profitSharesProfit share (response) []The product's profit-share split.
Field Type Notes productIdstring (UUID) The delivered product's UUID. recipientUuidstring (UUID) The recipient's Second Life UUID. recipientUsernamestring The recipient's Second Life username. queuedboolean Whether the delivery was queued. Delivery happens asynchronously. messagestring The message sent with the delivery.
Field Type Notes idstring (UUID) The vendor's UUID. namestring The vendor name. productIdstring (UUID) or null The linked product's UUID, or null if none. productNamestring or null The linked product's name, or null if none. syncNameboolean Whether the vendor name follows the linked product's name. activeboolean Whether the vendor is active. trackableboolean Whether the vendor is findable with the unit locator HUD. priceinteger The vendor price in L$. -1 means the vendor inherits the linked product's price. imageFaceinteger or null The object face the vendor image uses (0 to 7), or null. categoryIdstring (UUID) or null The linked category's UUID for a multi vendor, or null. gachaIdstring (UUID) or null The linked gacha's UUID for a gacha vendor, or null. groupOnlyboolean Whether the vendor sells only to residents in the store group. discountinteger The vendor discount percentage (0 to 100). groupDiscountinteger The discount percentage for residents in the store group (0 to 100). blockCreditsboolean Whether store credit is blocked at this vendor. clickActioninteger or null A ClickAction value, or null to keep the object's current click action. touchToAcquireboolean For free products, whether touching the vendor delivers the item instead of opening the menu. typeinteger A VendorType value. regionstring The Second Life region the vendor last reported, or an empty string if unknown. positionstring The vendor's last reported position, or an empty string if unknown.
Field Type Notes uuidstring (UUID) The customer's Second Life UUID. usernamestring The customer's Second Life username. creditinteger Store credit balance in L$. restrictedCreditinteger Restricted store credit in L$ (cannot be used for gifting). discountinteger The per-customer discount percentage. newsSubscriberboolean Whether the customer subscribes to the store news kiosk. isBannedboolean Whether the customer is banned from the store.
Field Type Notes uuidstring (UUID) The customer's Second Life UUID. usernamestring The customer's Second Life username. creditinteger Store credit balance in L$. restrictedCreditinteger Restricted store credit in L$.
Field Type Notes uuidstring (UUID) The customer's Second Life UUID. usernamestring The customer's Second Life username. suminteger Lifetime spend in L$. lastYearSuminteger Spend over the last year in L$. totalOwnedinteger The number of products the customer owns.
Field Type Notes uuidstring (UUID) The customer's Second Life UUID. usernamestring The customer's Second Life username. isBannedboolean The ban state after the action.
Field Type Notes tokenstring The opaque customer access token. The customer page reads it from the #ct= fragment and sends it as the X-Customer-Token header. urlstring A ready-formed link to the customer page: your store's configured customer page origin with the token in the #ct= fragment. expiresAtstring When the token expires (UTC). The token is short-lived.
Field Type Notes idstring (UUID) The category's UUID. namestring The category name. productCountinteger The number of products in the category.
Field Type Notes idstring (UUID) The coupon's UUID. codestring The coupon code. activeboolean Whether the coupon is active. bloggersSyncboolean Whether the coupon is synced with the blogger program. couponOwnerUuidstring (UUID) The owner's Second Life UUID. couponOwnerUsernamestring The owner's Second Life username. discountinteger The customer discount percentage. ownerProfitinteger The owner profit percentage. usesPerCustomerinteger How many times each customer may use the coupon. expirationstring When the coupon expires (UTC).
Field Type Notes idstring (UUID) The gift card's UUID. ownerUuidstring (UUID) The owner's Second Life UUID. ownerUsernamestring The owner's Second Life username. creditinteger The gift card balance in L$. activeboolean Whether the gift card is active. redeemedboolean Whether the gift card has been redeemed. transferboolean Whether the gift card is transferable. texturestring (UUID) or null The gift card texture UUID. purchasedboolean Whether the gift card was purchased (rather than granted).
Field Type Notes idstring (UUID) The store's UUID. namestring The store name. logostring (UUID) or null The store logo texture UUID. blogListedboolean Whether the store is listed for bloggers. applicationOpenboolean Whether blogger applications are open. bonusPurchaseBonus The store's purchase-bonus configuration. locationSlUrlstring A Second Life map URL for the store location, or an empty string when no location is set. ownerUuidstring (UUID) The store owner's Second Life UUID. ownerUsernamestring The store owner's Second Life username.
Field Type Notes spendingThresholdinteger The L$ spend required to reach the tier. discountPercentageinteger The discount the tier grants. isGroupOnlyboolean Whether the tier applies only to residents in the store group. isLastYearOnlyboolean Whether the threshold is measured against the last year's spend rather than lifetime spend.
Field Type Notes couponIdstring (UUID) The applied coupon's UUID. codestring The coupon code. discountinteger The coupon's customer discount percentage. scopestring The application scope, store or product. The request sends scope as an integer; the response returns it as this string. productIdstring (UUID) or null The product for a product-scope application; null for a store-wide application. customerUuidstring (UUID) The customer the coupon was applied to. customerUsernamestring The Second Life username of the customer the coupon was applied to. expiresAtstring When the application lapses (UTC). replacedboolean Whether this overwrote an existing application for the same customer at the same scope.
Field Type Notes revokedboolean Whether a matching application was removed. false when none existed.
The body for creating and updating a product.
Field Type Notes namestring Required. The product name. priceinteger The listed price in L$. Optional; defaults to 0. imagestring (UUID) or null The product image texture UUID. listedboolean Whether the product is listed. Optional; defaults to false. bloggableboolean Whether bloggers can retrieve the product. Optional; defaults to false. permissionsPermissions or nullThe Second Life permission flags. Optional; if omitted, defaults to { copy: true, modify: false, transfer: false }. discountDiscount or nullThe product's discount. availableAmountinteger The stock count when limited is true. Optional; defaults to 0. limitedboolean Whether the product has a limited stock count. Optional; defaults to false. itemstring or null The inworld item name. blockCreditsboolean Whether store credit is blocked for the product. Optional; defaults to false. descriptionstring or null The product description. profitSharesProfit share (request) [] or nullThe product's profit-share split. demoIdstring (UUID) or null The linked demo product's UUID. activeboolean Whether the product is active. Optional; defaults to true.
Field Type Notes recipientIdentifierstring Required. The recipient's Second Life UUID or username. messagestring or null An optional message, up to 250 characters.
The body for updating a vendor. It replaces the vendor's fields, so an omitted field is set to its default rather than left at its previous value.
Field Type Notes namestring The vendor name, at most 63 characters. Applied unless syncName is true and type is Default or GachaVendor; for those two types the name follows the linked product or gacha and this value is ignored. Every other type uses the value you send. productIdstring (UUID) or null The product to link, or null for none. Must be a product in the store when changed. syncNameboolean Whether the vendor name follows the linked product's name. Optional; defaults to false. Governs whether name is applied. activeboolean Whether the vendor is active. Optional; defaults to false. trackableboolean Whether the vendor is findable with the unit locator HUD. Optional; defaults to false. priceinteger or null The vendor price in L$. Optional; omit or send null to inherit the linked product's price (stored as -1). A sent value must be -1 (inherit) or 0 or greater. imageFaceinteger or null The object face for the vendor image. Optional; must be 0 to 7 when sent. categoryIdstring (UUID) or null The category to link for a multi vendor. Optional in general, but required when type is 1 (MultiMenuVendor). Must be a category in the store. gachaIdstring (UUID) or null The gacha to link for a gacha vendor. Optional in general, but required when type is 4 (GachaVendor). Must be a gacha in the store. groupOnlyboolean Whether the vendor sells only to residents in the store group. Optional; defaults to false. discountinteger The vendor discount percentage. Optional; defaults to 0; must be 0 to 100. groupDiscountinteger The store-group discount percentage. Optional; defaults to 0; must be 0 to 100 and at least discount. blockCreditsboolean Whether store credit is blocked at this vendor. Optional; defaults to false. clickActioninteger or null A ClickAction value, or null to keep the object's current click action. Optional. touchToAcquireboolean For free products, whether touching the vendor delivers the item. Optional; defaults to false. typeinteger A VendorType value. Optional; defaults to 0 (Default). Values 1 and 4 require categoryId and gachaId respectively.
Field Type Notes discountinteger The per-customer discount percentage (0 to 100). Optional; defaults to 0. newsSubscriberboolean Whether the customer subscribes to the store news kiosk. Optional; defaults to false.
Field Type Notes creditinteger The new credit balance in L$ (0 or greater). Optional; defaults to 0. expiresAtstring or null Optional ISO 8601 datetime. When set with a positive credit, the whole new balance is placed in one lot that expires at this time. Must be in the future; a past value is rejected with 400. Omit for a balance that does not expire.
Field Type Notes deltainteger Required; must be non-zero. The change to apply, in L$. Positive adds credit, negative removes it. expiresAtstring or null Optional ISO 8601 datetime. When set with a positive delta, the added credit forms one lot that expires at this time. Cannot be combined with a negative delta, which returns 400. Omit for credit that does not expire.
Field Type Notes creditinteger Required; 1 or greater. The gift card balance in L$. texturestring (UUID) or null The gift card texture UUID. transferboolean Whether the gift card is transferable. Optional; defaults to false.
The body is optional on the ban action.
Field Type Notes reasonstring or null An optional ban reason, up to 500 characters.
Field Type Notes customerIdentifierstring Required. The customer's Second Life username or avatar UUID, resolved server-side. collectiveIdstring (UUID) or null Optional. When set, mints a token scoped to a collective instead of the store; only the collective's owner store can mint this way, and only for a customer of the authenticated store. Omit for a store-scoped token.
Field Type Notes namestring Required. The category name, 1 to 100 characters.
Field Type Notes namestring Required. The category name, 1 to 100 characters.
Field Type Notes codestring Required. The coupon code. discountinteger The customer discount percentage. Optional; defaults to 0. ownerProfitinteger The owner profit percentage. Optional; defaults to 0. ownerIdentifierstring Required. The owner's Second Life UUID or username; it must resolve to an avatar. activeboolean Whether the coupon is active. Optional; defaults to true. bloggersSyncboolean Whether the coupon is synced with the blogger program. Optional; defaults to false.
The owner cannot be changed on update; it stays as set at creation.
Field Type Notes codestring Required. The coupon code. discountinteger The customer discount percentage. Optional; defaults to 0. ownerProfitinteger The owner profit percentage. Optional; defaults to 0. activeboolean Whether the coupon is active. Optional; defaults to true. bloggersSyncboolean Whether the coupon is synced with the blogger program. Optional; defaults to false.
Field Type Notes creditinteger The gift card balance in L$ (0 or greater). Optional; defaults to 0. texturestring (UUID) or null The gift card texture UUID. transferboolean Whether the gift card is transferable. Optional; defaults to false. activeboolean Whether the gift card is active. Optional; defaults to false.
The body for Apply a coupon to a customer . Provide exactly one of code, couponOwnerUuid, or couponId to identify the coupon.
Field Type Notes codestring or null The coupon code. One of the three coupon identifiers; provide exactly one. couponOwnerUuidstring (UUID) or null The coupon owner's Second Life UUID. One of the three coupon identifiers; provide exactly one. couponIdstring (UUID) or null The coupon's UUID. One of the three coupon identifiers; provide exactly one. scopeinteger Required. A CouponApplyScope value: 0 store-wide, 1 product. productIdstring (UUID) or null The product to scope to. Required when scope is 1; must be omitted when scope is 0. expiresInHoursinteger or null How long the application lasts before it lapses. Optional; defaults to 24; must be between 1 and 168.
The body for Revoke a coupon from a customer . The same coupon-identifier and scope rules as ApplyCouponRequest , without expiresInHours.
Field Type Notes codestring or null The coupon code. One of the three coupon identifiers; provide exactly one. couponOwnerUuidstring (UUID) or null The coupon owner's Second Life UUID. One of the three coupon identifiers; provide exactly one. couponIdstring (UUID) or null The coupon's UUID. One of the three coupon identifiers; provide exactly one. scopeinteger Required. A CouponApplyScope value: 0 store-wide, 1 product. productIdstring (UUID) or null The product to scope to. Required when scope is 1; must be omitted when scope is 0.