Allomancy

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.

Conventions

  • 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).

Enums

DiscountType

The type field of a Discount.

ValueName
0Percent
1Flat
2Override

CouponApplyScope

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.

ValueName
0store-wide
1product

Shared types

Permissions

The Second Life permission flags on a product.

FieldTypeNotes
copybooleanCopy permission.
modifybooleanModify permission.
transferbooleanTransfer permission.

Discount

A discount attached to a product.

FieldTypeNotes
valueintegerThe discount amount. Its meaning depends on type.
typeintegerA DiscountType value (0, 1, or 2).
startDatestringWhen the discount starts (UTC).
endDatestringWhen the discount ends (UTC).
{
  "value": 10,
  "type": 0,
  "startDate": "2026-04-01T00:00:00Z",
  "endDate": "2026-05-01T00:00:00Z"
}

PurchaseBonus

The store's purchase-bonus configuration, returned on StoreResponse.

FieldTypeNotes
baseBonusintegerBase bonus percentage (0 to 100).
groupBonusintegerBonus percentage for residents in the store group (0 to 100).

Profit share (request)

The shape of each entry in a ProductUpsertRequest's profitShares array.

FieldTypeNotes
usernamestringThe 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.
percentintegerThe recipient's share percentage.

Profit share (response)

The shape of each entry in a ProductResponse's profitShares array.

FieldTypeNotes
userUuidstring (UUID)The recipient's Second Life UUID.
percentintegerThe recipient's share percentage.

Response bodies

ProductResponse

FieldTypeNotes
idstring (UUID)The product's UUID.
namestringThe product name.
priceinteger or nullThe listed price in L$.
activePriceinteger or nullThe price after any active discount, in L$.
imagestring (UUID) or nullThe product image texture UUID.
bloggablebooleanWhether bloggers can retrieve the product.
activebooleanWhether the product is active.
blockCreditsbooleanWhether store credit is blocked for the product.
itemstring or nullThe inworld item name.
limitedbooleanWhether the product has a limited stock count.
availableAmountintegerThe remaining stock when limited is true.
permissionsPermissionsThe Second Life permission flags.
discountDiscount or nullThe product's discount, if any.
descriptionstring or nullThe product description.
demoIdstring (UUID) or nullThe linked demo product's UUID.
mpListinginteger (int64) or nullThe 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.

ProductDeliveryResponse

FieldTypeNotes
productIdstring (UUID)The delivered product's UUID.
recipientUuidstring (UUID)The recipient's Second Life UUID.
recipientUsernamestringThe recipient's Second Life username.
queuedbooleanWhether the delivery was queued. Delivery happens asynchronously.
messagestringThe message sent with the delivery.

CustomerResponse

FieldTypeNotes
uuidstring (UUID)The customer's Second Life UUID.
usernamestringThe customer's Second Life username.
creditintegerStore credit balance in L$.
restrictedCreditintegerRestricted store credit in L$ (cannot be used for gifting).
discountintegerThe per-customer discount percentage.
newsSubscriberbooleanWhether the customer subscribes to the store news kiosk.
isBannedbooleanWhether the customer is banned from the store.

CustomerCreditResponse

FieldTypeNotes
uuidstring (UUID)The customer's Second Life UUID.
usernamestringThe customer's Second Life username.
creditintegerStore credit balance in L$.
restrictedCreditintegerRestricted store credit in L$.

CustomerSpendResponse

FieldTypeNotes
uuidstring (UUID)The customer's Second Life UUID.
usernamestringThe customer's Second Life username.
sumintegerLifetime spend in L$.
lastYearSumintegerSpend over the last year in L$.
totalOwnedintegerThe number of products the customer owns.

CustomerBanStateResponse

FieldTypeNotes
uuidstring (UUID)The customer's Second Life UUID.
usernamestringThe customer's Second Life username.
isBannedbooleanThe ban state after the action.

CategoryResponse

FieldTypeNotes
idstring (UUID)The category's UUID.
namestringThe category name.
productCountintegerThe number of products in the category.

CouponResponse

FieldTypeNotes
idstring (UUID)The coupon's UUID.
codestringThe coupon code.
activebooleanWhether the coupon is active.
bloggersSyncbooleanWhether the coupon is synced with the blogger program.
couponOwnerUuidstring (UUID)The owner's Second Life UUID.
couponOwnerUsernamestringThe owner's Second Life username.
discountintegerThe customer discount percentage.
ownerProfitintegerThe owner profit percentage.
usesPerCustomerintegerHow many times each customer may use the coupon.
expirationstringWhen the coupon expires (UTC).

GiftCardResponse

FieldTypeNotes
idstring (UUID)The gift card's UUID.
ownerUuidstring (UUID)The owner's Second Life UUID.
ownerUsernamestringThe owner's Second Life username.
creditintegerThe gift card balance in L$.
activebooleanWhether the gift card is active.
redeemedbooleanWhether the gift card has been redeemed.
transferbooleanWhether the gift card is transferable.
texturestring (UUID) or nullThe gift card texture UUID.
purchasedbooleanWhether the gift card was purchased (rather than granted).

StoreResponse

FieldTypeNotes
idstring (UUID)The store's UUID.
namestringThe store name.
logostring (UUID) or nullThe store logo texture UUID.
blogListedbooleanWhether the store is listed for bloggers.
applicationOpenbooleanWhether blogger applications are open.
bonusPurchaseBonusThe store's purchase-bonus configuration.
locationSlUrlstringA 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.
ownerUsernamestringThe store owner's Second Life username.

LoyaltyTierResponse

FieldTypeNotes
spendingThresholdintegerThe L$ spend required to reach the tier.
discountPercentageintegerThe discount the tier grants.
isGroupOnlybooleanWhether the tier applies only to residents in the store group.
isLastYearOnlybooleanWhether the threshold is measured against the last year's spend rather than lifetime spend.

AppliedCouponResponse

FieldTypeNotes
couponIdstring (UUID)The applied coupon's UUID.
codestringThe coupon code.
discountintegerThe coupon's customer discount percentage.
scopestringThe application scope, store or product. The request sends scope as an integer; the response returns it as this string.
productIdstring (UUID) or nullThe product for a product-scope application; null for a store-wide application.
customerUuidstring (UUID)The customer the coupon was applied to.
customerUsernamestringThe Second Life username of the customer the coupon was applied to.
expiresAtstringWhen the application lapses (UTC).
replacedbooleanWhether this overwrote an existing application for the same customer at the same scope.

RevokedCouponResponse

FieldTypeNotes
revokedbooleanWhether a matching application was removed. false when none existed.

Request bodies

ProductUpsertRequest

The body for creating and updating a product.

FieldTypeNotes
namestringRequired. The product name.
priceintegerThe listed price in L$. Optional; defaults to 0.
imagestring (UUID) or nullThe product image texture UUID.
listedbooleanWhether the product is listed. Optional; defaults to false.
bloggablebooleanWhether 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.
availableAmountintegerThe stock count when limited is true. Optional; defaults to 0.
limitedbooleanWhether the product has a limited stock count. Optional; defaults to false.
itemstring or nullThe inworld item name.
blockCreditsbooleanWhether store credit is blocked for the product. Optional; defaults to false.
descriptionstring or nullThe product description.
profitSharesProfit share (request)[] or nullThe product's profit-share split.
demoIdstring (UUID) or nullThe linked demo product's UUID.
activebooleanWhether the product is active. Optional; defaults to true.

DeliverProductRequest

FieldTypeNotes
recipientIdentifierstringRequired. The recipient's Second Life UUID or username.
messagestring or nullAn optional message, up to 250 characters.

UpdateCustomerRequest

FieldTypeNotes
discountintegerThe per-customer discount percentage (0 to 100). Optional; defaults to 0.
newsSubscriberbooleanWhether the customer subscribes to the store news kiosk. Optional; defaults to false.

SetCustomerCreditRequest

FieldTypeNotes
creditintegerThe new credit balance in L$ (0 or greater). Optional; defaults to 0.

IncrementCustomerCreditRequest

FieldTypeNotes
deltaintegerRequired; must be non-zero. The change to apply, in L$. Positive adds credit, negative removes it.

GrantGiftCardRequest

FieldTypeNotes
creditintegerRequired; 1 or greater. The gift card balance in L$.
texturestring (UUID) or nullThe gift card texture UUID.
transferbooleanWhether the gift card is transferable. Optional; defaults to false.

BanCustomerRequest

The body is optional on the ban action.

FieldTypeNotes
reasonstring or nullAn optional ban reason, up to 500 characters.

CreateCategoryRequest

FieldTypeNotes
namestringRequired. The category name, 1 to 100 characters.

UpdateCategoryRequest

FieldTypeNotes
namestringRequired. The category name, 1 to 100 characters.

CreateCouponRequest

FieldTypeNotes
codestringRequired. The coupon code.
discountintegerThe customer discount percentage. Optional; defaults to 0.
ownerProfitintegerThe owner profit percentage. Optional; defaults to 0.
ownerIdentifierstringRequired. The owner's Second Life UUID or username; it must resolve to an avatar.
activebooleanWhether the coupon is active. Optional; defaults to true.
bloggersSyncbooleanWhether the coupon is synced with the blogger program. Optional; defaults to false.

UpdateCouponRequest

The owner cannot be changed on update; it stays as set at creation.

FieldTypeNotes
codestringRequired. The coupon code.
discountintegerThe customer discount percentage. Optional; defaults to 0.
ownerProfitintegerThe owner profit percentage. Optional; defaults to 0.
activebooleanWhether the coupon is active. Optional; defaults to true.
bloggersSyncbooleanWhether the coupon is synced with the blogger program. Optional; defaults to false.

UpdateGiftCardRequest

FieldTypeNotes
creditintegerThe gift card balance in L$ (0 or greater). Optional; defaults to 0.
texturestring (UUID) or nullThe gift card texture UUID.
transferbooleanWhether the gift card is transferable. Optional; defaults to false.
activebooleanWhether the gift card is active. Optional; defaults to false.

ApplyCouponRequest

The body for Apply a coupon to a customer. Provide exactly one of code, couponOwnerUuid, or couponId to identify the coupon.

FieldTypeNotes
codestring or nullThe coupon code. One of the three coupon identifiers; provide exactly one.
couponOwnerUuidstring (UUID) or nullThe coupon owner's Second Life UUID. One of the three coupon identifiers; provide exactly one.
couponIdstring (UUID) or nullThe coupon's UUID. One of the three coupon identifiers; provide exactly one.
scopeintegerRequired. A CouponApplyScope value: 0 store-wide, 1 product.
productIdstring (UUID) or nullThe product to scope to. Required when scope is 1; must be omitted when scope is 0.
expiresInHoursinteger or nullHow long the application lasts before it lapses. Optional; defaults to 24; must be between 1 and 168.

RevokeCouponRequest

The body for Revoke a coupon from a customer. The same coupon-identifier and scope rules as ApplyCouponRequest, without expiresInHours.

FieldTypeNotes
codestring or nullThe coupon code. One of the three coupon identifiers; provide exactly one.
couponOwnerUuidstring (UUID) or nullThe coupon owner's Second Life UUID. One of the three coupon identifiers; provide exactly one.
couponIdstring (UUID) or nullThe coupon's UUID. One of the three coupon identifiers; provide exactly one.
scopeintegerRequired. A CouponApplyScope value: 0 store-wide, 1 product.
productIdstring (UUID) or nullThe product to scope to. Required when scope is 1; must be omitted when scope is 0.

On this page