List offer relations
Catalog twin, relisting and migration.
Lists this offer's links to other offers, in both directions, paginated, newest first. Use it to follow a listing that changed ID on the marketplace.
curl "$BACKEND_URL/v1/listings/<listingId>/relations" \
-H "Authorization: Bearer mk_your_api_key"type | Means |
|---|---|
catalog_twin | the offer's copy in the marketplace catalog |
relisted_from | a relist that got a new ID |
migrated_from | the same offer, moved to a new marketplace model |
direction tells which side you are on. With outgoing, the relation starts at this offer (for relisted_from and migrated_from, this offer came out of the other one). With incoming, it ends here (the other one came out of this one). The relation shows up on both offers, each with its own direction.
relatedListingId is the other offer: read it with Get listing. The old marketplace ID stays in externalIds.
Today the list comes back empty: relations are born with relisting and the catalog twin, which do not exist in the API yet.
api_keyAuthorizationBearer <token>API key (mk_...)
listingId*string^([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)$uuidpage?integerPage number, starting at 1. Defaults to 1. A page beyond pagination.totalPages is not an error: it returns empty data.
1 <= value <= 90071992547409911pageSize?integerItems per page, from 1 to 100. Defaults to 20.
1 <= value <= 10020One page of relations, newest first. A page beyond pagination.totalPages returns empty data, not 404.
application/json- response
One page of the relations of an offer.
data*array<>The relations of this page, newest first. A relation shows up from both of its offers.
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/497f6eca-6276-4993-bfeb-53cbbbba6f08/relations"{ "data": [ { "id": "f1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b", "type": "relisted_from", "direction": "outgoing", "relatedListingId": "5e8d1c2a-9b3f-4d6e-a7c1-0f4b2e8d9a13", "externalIds": [ "MLB999" ], "createdAt": "2026-10-19T12:00:00.000Z" } ], "pagination": { "page": 1, "pageSize": 20, "totalItems": 1, "totalPages": 1, "hasNext": false, "hasPrev": false }}