Aura Historia · Schema

UpsertProductListingData

Data for synchronously upserting one ProductListing. Only `sourceListingId` is required. Title, description, availability, price, and each price estimate are tri-state: omitted preserves an existing value, `null` clears it, and a concrete value replaces it. The nested Auction/lot-facts patch is omitted to preserve stored facts or supplied as a leaf patch; `null` is invalid. Within an asserted patch, lot/timing leaves omit to preserve, use `null` to clear, or provide a value to set. `auctionId` must identify an existing Auction for this ListingSource; omit it to preserve membership, send `null` to clear it, or send an ID to set it. Upsert restores a withdrawn listing before current facts apply. Images and URL use the field-specific rules documented below.

CompanyAntiquesMarketplaceSearchSaaS

Properties

Name Type Description
sourceListingId string The listing source's own identifier for the product. Must be unique within the listing source.
title object Localized title patch. Omit to preserve; null clears; a value sets text and source language. The title is normalized; styled letters and digits become ordinary text and emoji and ornamental symbols ar
description object Localized description patch. Omit to preserve; null clears; a value sets text and source language.
price object Optional current asking-price assertion. Omit to leave it unchanged; send null to clear it; send a tagged monetary or on-request value to set it. On creation, omitted and null both mean no assertion.
priceEstimateMin object Optional lower bound of the estimated price range. On an existing listing, omit to preserve, send `null` to clear, or send a value to set. On creation, omitted and `null` both mean no lower bound.
priceEstimateMax object Optional upper bound of the estimated price range. On an existing listing, omit to preserve, send `null` to clear, or send a value to set. On creation, omitted and `null` both mean no upper bound.
availability object Omit to preserve an existing assertion; send null to clear it; send a code to set it.
url stringnull URL to the product on the listing source's website. On an existing listing, omit or send `null` to preserve the current URL; send a value to replace it. URL is non-clearable.
images array List of image URLs for the product. On an existing listing, omit to preserve the stored image set, send `[]` to clear it, or send an array to replace it. `null` is invalid.
auction object Omit to preserve the current context or send an object to apply nested leaf patches. `auctionId` must identify an existing Auction for this ListingSource; omit it to preserve membership, send null to
View JSON Schema on GitHub

JSON Schema

aura-historia-com-upsert-product-listing-data-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aura-historia-com/json-schema/aura-historia-com-upsert-product-listing-data-schema.json",
  "title": "UpsertProductListingData",
  "description": "Data for synchronously upserting one ProductListing. Only `sourceListingId` is required.\nTitle, description, availability, price, and each price estimate are tri-state: omitted preserves an existing\nvalue, `null` clears it, and a concrete value replaces it. The nested Auction/lot-facts patch is omitted\nto preserve stored facts or supplied as a leaf patch; `null` is invalid. Within an asserted patch, lot/timing leaves\nomit to preserve, use `null` to clear, or provide a value to set. `auctionId` must identify an existing Auction for this ListingSource; omit it to preserve membership, send `null` to clear it, or send an ID to set it. Upsert restores a withdrawn listing before current\nfacts apply. Images and URL use the field-specific rules documented below.\n",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aura-historia-com-openapi.yml#/components/schemas/UpsertProductListingData",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "sourceListingId"
  ],
  "properties": {
    "sourceListingId": {
      "type": "string",
      "description": "The listing source's own identifier for the product. Must be unique within the listing source."
    },
    "title": {
      "allOf": [
        {
          "$ref": "#/$defs/LocalizedTextData"
        }
      ],
      "nullable": true,
      "description": "Localized title patch. Omit to preserve; null clears; a value sets text and source language. The title is normalized; styled letters and digits become ordinary text and emoji and ornamental symbols are removed. A title without remaining text, such as a blank or emoji-only title, is rejected with `BAD_BODY_VALUE`: synchronous batches fail with `400`, asynchronous batches report that item as a failure."
    },
    "description": {
      "allOf": [
        {
          "$ref": "#/$defs/LocalizedTextData"
        }
      ],
      "nullable": true,
      "description": "Localized description patch. Omit to preserve; null clears; a value sets text and source language."
    },
    "price": {
      "allOf": [
        {
          "$ref": "#/$defs/ProductListingPriceData"
        }
      ],
      "nullable": true,
      "description": "Optional current asking-price assertion. Omit to leave it unchanged; send null to clear it; send a tagged monetary or on-request value to set it. On creation, omitted and null both mean no assertion."
    },
    "priceEstimateMin": {
      "allOf": [
        {
          "$ref": "#/$defs/PriceData"
        }
      ],
      "nullable": true,
      "description": "Optional lower bound of the estimated price range. On an existing listing, omit to preserve, send `null` to clear, or send a value to set. On creation, omitted and `null` both mean no lower bound."
    },
    "priceEstimateMax": {
      "allOf": [
        {
          "$ref": "#/$defs/PriceData"
        }
      ],
      "nullable": true,
      "description": "Optional upper bound of the estimated price range. On an existing listing, omit to preserve, send `null` to clear, or send a value to set. On creation, omitted and `null` both mean no upper bound."
    },
    "availability": {
      "allOf": [
        {
          "$ref": "#/$defs/ListingAvailabilityData"
        }
      ],
      "nullable": true,
      "description": "Omit to preserve an existing assertion; send null to clear it; send a code to set it."
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "URL to the product on the listing source's website. On an existing listing, omit or send `null` to preserve the current URL; send a value to replace it. URL is non-clearable."
    },
    "images": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "List of image URLs for the product. On an existing listing, omit to preserve the stored image set, send `[]` to clear it, or send an array to replace it. `null` is invalid."
    },
    "auction": {
      "allOf": [
        {
          "$ref": "#/$defs/ProductListingAuctionData"
        }
      ],
      "description": "Omit to preserve the current context or send an object to apply nested leaf patches. `auctionId` must identify an existing Auction for this ListingSource; omit it to preserve membership, send null to clear it, or send an ID to set it. `null` for `auction` is invalid."
    }
  },
  "$defs": {
    "CurrencyData": {
      "type": "string",
      "enum": [
        "EUR",
        "GBP",
        "USD",
        "AUD",
        "CAD",
        "NZD",
        "CNY",
        "BRL",
        "PLN",
        "TRY",
        "JPY",
        "CZK",
        "RUB",
        "AED",
        "SAR",
        "HKD",
        "SGD",
        "CHF",
        "ZAR",
        "SEK",
        "DKK",
        "NOK",
        "KRW",
        "INR",
        "TWD",
        "HUF",
        "RON",
        "MXN",
        "THB",
        "ARS"
      ],
      "description": "Supported currencies (ISO 4217 codes):\n- EUR: Euro\n- GBP: British Pound\n- USD: US Dollar\n- AUD: Australian Dollar\n- CAD: Canadian Dollar\n- NZD: New Zealand Dollar\n- CNY: Chinese Yuan\n- BRL: Brazilian Real\n- PLN: Polish Złoty\n- TRY: Turkish Lira\n- JPY: Japanese Yen\n- CZK: Czech Koruna\n- RUB: Russian Ruble\n- AED: UAE Dirham\n- SAR: Saudi Riyal\n- HKD: Hong Kong Dollar\n- SGD: Singapore Dollar\n- CHF: Swiss Franc\n- ZAR: South African Rand\n- SEK: Swedish Krona\n- DKK: Danish Krone\n- NOK: Norwegian Krone\n- KRW: South Korean Won\n- INR: Indian Rupee\n- TWD: New Taiwan Dollar\n- HUF: Hungarian Forint\n- RON: Romanian Leu\n- MXN: Mexican Peso\n- THB: Thai Baht\n- ARS: Argentine Peso (2 minor-unit decimal places)\n",
      "default": "EUR"
    },
    "LanguageData": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr",
        "es",
        "it",
        "zh",
        "pt",
        "pl",
        "tr",
        "nl",
        "cs",
        "ja",
        "ru",
        "ar"
      ],
      "description": "Supported language codes (ISO 639-1 canonical values):\n- de: German (includes de-DE, de-AT, de-CH, de-LU, de-LI)\n- en: English (includes en-US, en-GB, en-AU, en-CA, en-NZ, and backend-specific accepted alias en_IE)\n- fr: French (includes fr-FR, fr-CA, fr-BE, fr-CH, fr-LU)\n- es: Spanish (includes es-ES, es-MX, es-AR, es-CO, es-CL, es-PE, es-VE)\n- it: Italian (includes it-IT, it-CH)\n- zh: Chinese (Simplified) (includes zh-CN, zh-Hans)\n- pt: Portuguese (includes pt-PT, pt-BR)\n- pl: Polish (includes pl-PL)\n- tr: Turkish (includes tr-TR)\n- nl: Dutch (includes nl-NL, nl-BE)\n- cs: Czech (includes cs-CZ)\n- ja: Japanese (includes ja-JP)\n- ru: Russian (includes ru-RU)\n- ar: Arabic (includes ar-SA, ar-EG, ar-AE)\n\n`de`, `en`, `fr`, `es`, and `it` are fully supported localization/translation-target languages.\n`zh`, `pt`, `pl`, `tr`, `nl`, `cs`, `ja`, `ru`, and `ar` are ingestion-only languages:\nthey can appear in stored/native content and are accepted anywhere `LanguageData` is used,\nbut backend-generated translations and fallback localized strings are not produced in these languages.\n",
      "default": "en"
    },
    "ListingAvailabilityData": {
      "type": "string",
      "enum": [
        "AVAILABLE",
        "IN_STOCK",
        "LIMITED_AVAILABILITY",
        "BACK_ORDER",
        "MADE_TO_ORDER",
        "PRE_ORDER",
        "PRE_SALE",
        "UNAVAILABLE",
        "RESERVED",
        "OUT_OF_STOCK",
        "SOLD_OUT"
      ],
      "description": "Current reliable source assertion of listing purchase availability. Omitted or `null` means Aura has no reliable current assertion."
    },
    "LocalizedTextData": {
      "type": "object",
      "description": "Text content with language information",
      "required": [
        "text",
        "language"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "The text content"
        },
        "language": {
          "$ref": "#/$defs/LanguageData"
        }
      }
    },
    "PriceData": {
      "type": "object",
      "description": "Price information with currency",
      "required": [
        "currency",
        "amount"
      ],
      "properties": {
        "currency": {
          "$ref": "#/$defs/CurrencyData"
        },
        "amount": {
          "type": "integer",
          "description": "Price amount in minor currency units (e.g., cents for most supported currencies, whole yen for JPY)",
          "minimum": 0
        }
      }
    },
    "ProductListingAuctionData": {
      "type": "object",
      "additionalProperties": false,
      "description": "Partner ProductListing nested write patch. `auctionId` must identify an existing Auction for the same ListingSource. Omit it to preserve membership, send null to clear membership, or send a value to set it. Omit a lot/timing leaf to preserve it, send null to clear a clearable leaf, or send a value to set it.",
      "properties": {
        "auctionId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Existing same-ListingSource Aura Auction TypeID. Omit to preserve membership; send null to clear it."
        },
        "lotNumber": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 128,
          "description": "Omit to preserve the lot label; send null to clear it; send a value to set it."
        },
        "cataloguePosition": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int64",
          "minimum": 1,
          "maximum": 4294967295,
          "description": "Omit to preserve the catalogue position; send null to clear it; send a value to set it."
        },
        "timing": {
          "allOf": [
            {
              "$ref": "#/$defs/ProductListingAuctionTimesData"
            }
          ],
          "nullable": true
        }
      }
    },
    "ProductListingAuctionTimesData": {
      "type": "object",
      "additionalProperties": false,
      "description": "Omit each leaf to preserve it; send null to clear it; values are RFC3339 instants.",
      "properties": {
        "biddingOpens": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "scheduledCloses": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "reportedClosedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      }
    },
    "ProductListingPriceData": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "type",
            "currency",
            "amount"
          ],
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "MONETARY"
              ]
            },
            "currency": {
              "$ref": "#/$defs/CurrencyData"
            },
            "amount": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "ON_REQUEST"
              ]
            }
          }
        }
      ]
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/aura-historia-com-upsert-product-listing-data"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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