Listings

List listings

Lists local and imported listings.

GET
/v1/listings

Use this collection as the operational view of every account offer, whether it is a local draft or an imported marketplace ad. Each result belongs to exactly one Connection and retains its external identity when it already exists.

Filter by connectionId to show one channel, by marketplaceStatus for work such as “all paused listings,” by marketplaceProductId to see the offers that share one content, and by publicationState to find pending work, local changes not yet published (dirty), publications in progress (pending), or failed ones (failed). These filters represent different axes; a Listing may be active in the marketplace and still be locally dirty.

An unlinked Listing stays visible on purpose. It means the offer was created or imported but the API does not yet know which local Variant should receive inventory or participate in publication. Correct it with bindings, rather than creating a duplicate offer.

Authorization

api_key
headerAuthorizationBearer <token>

API key (mk_...)

Query Parameters

page?integer

Page number, starting at 1. Defaults to 1. A page beyond pagination.totalPages is not an error: it returns empty data.

Range1 <= value <= 9007199254740991
Default1
pageSize?integer

Items per page, from 1 to 100. Defaults to 20.

Range1 <= value <= 100
Default20
connectionId?string

Only listings of this connection.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
marketplaceProductId?string

Only offers of this marketplace product.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
marketplaceStatus?string

Only listings in this marketplace state.

Value in"draft""active""paused""under_review""scheduled""suppressed""frozen""closed""deleted""rejected""unknown"
publicationState?string

Only listings in this local publication state.

Value in"never_published""clean""dirty""pending""failed"

Response Body

Listings newest first, optionally filtered by connection or state.

application/json
  1. response

One page of listings.

data*array<>

Listings in this page, newest first.

pagination*

Where this page sits in the whole listing: the totals and whether there are pages before and after it.

curl -X GET "https://example.com/v1/listings"
{  "data": [    {      "id": "0e2ce906-a6ab-4101-9461-4168c8b6b902",      "sellerId": "3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01",      "connectionId": "3f7d8a57-3e44-4c91-bbf1-02d9f4e4e5b0",      "marketplaceProductId": "8a6f0c55-6a1e-4c55-9b0a-3b1f2d9e4c10",      "desired": {        "offer": {          "priceInCents": 499900,          "currency": "BRL"        }      },      "observed": null,      "marketplaceOptions": {},      "marketplaceStatus": "draft",      "buyable": null,      "discoverable": null,      "pendingRevision": null,      "statusReasons": [],      "publicationState": "never_published",      "linkState": "unlinked",      "syncPolicy": {        "inbound": {          "mode": "active"        },        "outbound": {          "enabled": true        },        "inventory": {          "mode": "manual",          "eligibleBindingIds": []        }      },      "createdAt": "2026-10-10T12:00:00.000Z",      "updatedAt": "2026-10-10T12:00:00.000Z"    }  ],  "pagination": {    "page": 1,    "pageSize": 20,    "totalItems": 57,    "totalPages": 3,    "hasNext": true,    "hasPrev": false  }}