Linden Lab · AsyncAPI Specification

Linden Lab Ans Webhooks

Version

View Spec View on GitHub Virtual WorldsMetaverseGaming3DSocialVirtual EconomyDigital CurrencyMarketplaceScriptingUser Generated ContentAsyncAPIWebhooksEvents

AsyncAPI Specification

linden-lab-ans-webhooks.yml Raw ↑
generated: '2026-08-25'
method: searched
source: >-
  https://wiki.secondlife.com/wiki/Direct_Delivery_and_Automatic_Notification_System
  and https://wiki.secondlife.com/wiki/Direct_Delivery_and_Automatic_Notification_System/Where_to_Set_the_ANS_URL
asyncapi_spec_published: false
asyncapi_note: >-
  Linden Lab publishes no AsyncAPI document, and none was fabricated. A GitHub code
  search across the secondlife org for "asyncapi" returned 0 results on 2026-08-25.
  What the company does publish is one real, documented, outbound webhook — the
  Second Life Marketplace Automatic Notification System — captured below as a
  webhook catalog rather than as an event spec.
webhooks:
  - name: Automatic Notification System (ANS)
    product: Second Life Marketplace
    direction: outbound (Linden Lab -> merchant endpoint)
    description: >-
      "Forwards information about every sale made on the SL Marketplace to an
      outside website", where "a program or web page on the receiving site is
      responsible for accepting the information". The merchant configures a single
      ANS URL in Marketplace Merchant Home.
    endpoint_owner: merchant
    configuration: >-
      Set in Marketplace Merchant Home. The exact page is behind the Second Life
      login (marketplace.secondlife.com redirects an anonymous browser to
      id.secondlife.com), so no configuration URL is asserted here; the wiki page
      "Where to Set the ANS URL" is the public instruction.
    configuration_docs: https://wiki.secondlife.com/wiki/Direct_Delivery_and_Automatic_Notification_System/Where_to_Set_the_ANS_URL
    http_method: not documented
    http_method_note: >-
      The wiki does not state the HTTP method or the content type of the delivery.
      Recorded as unknown rather than assumed — a merchant has to observe it to
      find out.
    transport: HTTP
    retry_policy: not documented
    ordering_guarantee: not documented
    events:
      - type: Purchase
        description: a Marketplace sale completed
      - type: Redelivery
        description: previously purchased inventory re-sent to the buyer
    verification:
      header: X-ANS-Verify-Hash
      algorithm: SHA1
      detail: >-
        The receiving endpoint is sent an X-ANS-Verify-Hash HTTP header containing
        a SHA1 hash, validated against a merchant-specific salt code obtained from
        Merchant Home. This is the only integrity control on the callback; there is
        no shared-secret HMAC signature scheme, no timestamp, and no replay window.
      note: >-
        SHA1 without an HMAC construction and without a timestamp is weak by 2026
        standards. Recorded as published, not endorsed.
    fields:
      - Currency
      - Type
      - PaymentGross
      - PaymentFee
      - PayerName
      - PayerKey
      - ReceiverName
      - ReceiverKey
      - MerchantName
      - MerchantKey
      - TransactionID
      - ItemID
      - ItemName
      - InventoryName
      - Location
      - name: VerifyKey
        note: ANS/SLM only; always empty
      - name: Region
        note: ANS/SLM only; always the literal string "SLM"
event_streams:
  - name: Second Life Live Data Feeds
    type: poll
    detail: >-
      Not an event stream, but the only other near-real-time surface: pull-only
      HTTP polling of /datafeeds/*, refreshed publisher-side every 3 minutes
      (inworld count) and every 15 minutes (LindeX). No push, no websocket, no SSE.
  - name: Second Life status incident feed
    type: rss
    url: https://status.secondlifegrid.net/history.rss
    status: 200
    detail: Atlassian Statuspage incident history RSS for Linden Lab's status page.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/linden-lab-ans-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.