Listings

List offer issues

Lists what blocks the offer from being published or sold.

GET
/v1/listings/{listingId}/issues

Lists what blocks the offer from being published or sold, and what the marketplace says about it. Use it before publishing and when a listing stalls. The route only reads: it does not call the marketplace and has no pagination, because the set is small.

curl "$BACKEND_URL/v1/listings/<listingId>/issues" \
  -H "Authorization: Bearer mk_your_api_key"

error items come first. With no problem at all, issues is empty. Decide by code: the message is free text and can change.

Local issues

With source: local. They come from MarketAPI's own data.

codeseverityWhat to do
listing_unlinkederrorNo Variant linked (or an import matched more than one). Replace the bindings.
binding_invaliderrorThe binding's Variant, or its Product, is archived, or belongs to another seller. Change the link.
price_missingerrorNo price. Set desired.offer.priceInCents on the listing or on the line.
outbound_disablederrorOutbound is off. Turn it on in the sync policy.
connection_inactiveerrorThe Connection is not active. The seller must reconnect.
capability_unsupportederrorThe marketplace does not publish listings, or the Connection lacks the scope. See the capabilities.
last_publication_failederrorThe last publication failed. See the attempts and publish again.
open_conflictwarningA conflict is waiting. Resolve it.

Marketplace issues

With source: marketplace. There is one item for each reason in statusReasons of the offer and of each line. The code is the normalized reason (out_of_stock, policy_violation…) and externalCode is the channel's own. severity is error when the marketplace says it cannot be bought (buyable: false) and warning otherwise.

source: validation is part of the format, but nothing emits it yet: it arrives with validate.

Authorization

api_key
headerAuthorizationBearer <token>

API key (mk_...)

Path Parameters

listingId*string
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

Response Body

The issues of the offer; empty when there is none.

application/json
  1. response

The issues of an offer. A small set calculated on read, so it has no pagination.

listingId*string

The listing analyzed.

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
issues*array<>

Every issue found: local causes first, then open conflicts, then what the marketplace says about the offer and its lines, then the last validation. Empty when there is none.

curl -X GET "https://example.com/v1/listings/497f6eca-6276-4993-bfeb-53cbbbba6f08/issues"
{  "listingId": "0e2ce906-a6ab-4101-9461-4168c8b6b902",  "issues": [    {      "code": "price_missing",      "severity": "error",      "source": "local",      "path": "desired.offer.priceInCents",      "message": "The offer has no price.",      "externalCode": null    }  ]}