Seller

Read back your listings

What this shop currently holds, so a sync can diff before it writes and send the twelve rows that changed rather than all four hundred. Each row carries the catalogue record it points at, your price and currency, the link, publication status, which side last wrote it (api or console), when it was last refreshed, its clickId, and the clicks it earned over the last 30 days. stockQty appears here and in no public response: it is private from readers, not from the shop that entered it.

Requires Enterprise tier or higher.

get/v1/vendor/offers

Request

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

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

kind'attachment' | 'firearm'

Only parts or only firearms

status'draft' | 'published'

Only drafts or only published rows

qstring

Match on your SKU or the product name

pageinteger

Page number, from 1 to 10,000

per_pageinteger

Items per page (max 100)

Response

Read back your listings

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",
      "targetId": "aimpoint-acro-p-2",
      "priceCents": 129900,
      "currency": "AUD",
      "url": "https://example-optics.com/products/aimpoint-acro-p-2",
      "inStock": true,
      "stockQty": 4,
      "source": "api",
      "clicks": 37,
      "updatedAt": "2026-09-08 04:11:00"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "limit": 20,
    "total": 42,
    "totalPages": 3
  }
}

Changes

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