Seller

Update one listing

Change part of one listing without resending it. The everyday integration is a nightly price and stock sync, and doing that through the batch upsert means resending the target id, the URL and the currency to change one number, which is how a script that meant to reprice a row silently rewrites its link. Every field is optional and absent means unchanged. stock_qty is the private count: 0 is out of stock, a positive number is in stock, and null is "not tracked". in_stock is the flag for a shop that does not count units; send one or the other, never both, since a row that carries a quantity derives the flag from it. Editing a row is also a statement that its price still stands, so it resets the staleness clock.

Requires Enterprise tier or higher.

patch/v1/vendor/offers/{sku}

Request

  • Base URL: https://api.gunspec.io
  • URL: https://api.gunspec.io/v1/vendor/offers/{sku}
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Path parameters

skustring required

Your own SKU for the offer

Query parameters

vendorstring

Which of your shops to act for. Required only when one key is named by more than one shop; GET /v1/vendor/shops lists them

Request body

price_centsinteger

New price in integer minor units of currency. A float is refused.

currencystring

ISO 4217 code the price is in, e.g. AUD. Prices are integer minor units; format with Intl.NumberFormat at render rather than dividing first.

urlstring

Product page on your shop. Must be a full https:// address; any other scheme is refused.

stock_qtyinteger

Units you hold: 0 is out of stock, null is not tracked. Send this or in_stock, never both: a row carrying a quantity derives its flag from it.

in_stockboolean

Stock flag, for a shop that does not count units. Send this or stock_qty, never both.

regionstring nullable

ISO 3166-1 alpha-2 code you ship to. Null states no restriction.

status'draft' | 'published'

Set published to show the listing on public pages, or draft to take it off them while keeping it.

Example request

{
  "price_cents": 139900,
  "currency": "AUD",
  "url": "https://example-optics.com/products/aimpoint-acro-p-2",
  "region": "AU",
  "status": "published"
}

Response

Update one listing

successboolean required

Always true on a successful response. Every error carries false and an error object instead.

Example response

{
  "success": true,
  "data": {
    "sku": "AIM-ACRO-P2"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.