Listing Channel Offers
Attach/detach promotions, bank offers, coupons, and cancellation plans (with overrides) to a listing+channel.
📄️ List bank-offer mappings for a channel
List bank-offer mappings for a channel
📄️ List bank-offer mappings for a listing
List bank-offer mappings for a listing
📄️ List cancellation-plan mappings for a channel
List cancellation-plan mappings for a channel
📄️ List cancellation-plan mappings for a listing
List cancellation-plan mappings for a listing
📄️ List coupon mappings for a channel
List coupon mappings for a channel
📄️ List coupon mappings for a listing
List coupon mappings for a listing
📄️ List promotion mappings for a channel
List promotion mappings for a channel
📄️ List promotion mappings for a listing
List promotion mappings for a listing
📄️ Export bank-offer mappings as CSV
Export bank-offer mappings as CSV
📄️ Download a sample bank-offer mapping CSV
Download a sample bank-offer mapping CSV
📄️ Export cancellation-plan mappings as CSV
Export cancellation-plan mappings as CSV
📄️ Download a sample cancellation-plan mapping CSV
Download a sample cancellation-plan mapping CSV
📄️ Export coupon mappings as CSV
Export coupon mappings as CSV
📄️ Download a sample coupon mapping CSV
Download a sample coupon mapping CSV
📄️ Export promotion mappings as CSV
Export promotion mappings as CSV
📄️ Download a sample promotion mapping CSV
Download a sample promotion mapping CSV
📄️ Bank offer coverage across a channel
One row per offer mapped somewhere on the channel, carrying how many of the channel's enabled listings carry it and how many there are in total. Drives a tri-state checkbox: equal counts are a full mapping, a lower count is a partial one. Offers mapped nowhere on the channel are omitted.
📄️ Attach/update a bank offer on a listing+channel
`listingId` takes one listing or an array of them, so the set picked in the listing selector is attached in one save. The response carries one mapping per listing. To attach several offers at once instead, use `/bank-offers/bulk`.
📄️ Attach and detach bank offers across a channel
Takes what a checklist save changed: `attach` fans out one mapping per enabled listing, `detach` clears an offer off the channel entirely. Offers in neither list are left alone, so a mapping made against a single listing survives a channel-level save. One transaction — either the whole set lands or none of it does.
📄️ Attach several bank offers to a listing+channel
Upserts one mapping per offer in a single transaction — either every offer in the list is attached or none is. Re-sending an offer that is already mapped is a no-op, so the whole set can safely be re-sent to reconcile. Use the singular endpoint above to attach one offer.
📄️ Bulk delete bank-offer mappings from CSV
Bulk delete bank-offer mappings from CSV
📄️ Bulk upsert bank-offer mappings from CSV
Bulk upsert bank-offer mappings from CSV
📄️ Attach/update a cancellation plan (with overrides) on a listing+channel
`listingId` takes one listing or an array of them, so the set picked in the listing selector is attached in one save. The response carries one mapping per listing.
📄️ Attach a cancellation plan to every listing on a channel
Fans the plan (with any overrides in the body) out to a listing_channel_cancellation_plan row for every enabled listing on the channel — the table the cart/offer cache reads. The body's `listingId` is ignored. Point-in-time: listings added later aren't auto-enrolled. Returns the number of listings written.
📄️ Bulk delete cancellation-plan mappings from CSV
Bulk delete cancellation-plan mappings from CSV
📄️ Bulk upsert cancellation-plan mappings from CSV
Bulk upsert cancellation-plan mappings from CSV
📄️ Attach/update a coupon on a listing+channel
`listingId` takes one listing or an array of them, so the set picked in the listing selector is attached in one save. The response carries one mapping per listing.
📄️ Attach a coupon to every listing on a channel
Attach a coupon to every listing on a channel
📄️ Bulk delete coupon mappings from CSV
Bulk delete coupon mappings from CSV
📄️ Bulk upsert coupon mappings from CSV
Bulk upsert coupon mappings from CSV
📄️ Attach/update a promotion on a listing+channel
`listingId` takes one listing or an array of them, so the set picked in the listing selector is attached in one save. The response carries one mapping per listing.
📄️ Attach a promotion to every listing on a channel
Attach a promotion to every listing on a channel
📄️ Bulk delete promotion mappings from CSV
Bulk delete promotion mappings from CSV
📄️ Bulk upsert promotion mappings from CSV
Bulk upsert promotion mappings from CSV
📄️ Detach a bank offer from a listing+channel
Detach a bank offer from a listing+channel
📄️ Detach a bank offer from every listing on a channel
Returns rows deleted, which includes mappings whose listing has since left the channel.
📄️ Detach a cancellation plan from a listing+channel
Detach a cancellation plan from a listing+channel
📄️ Detach a cancellation plan from every listing on a channel
Detach a cancellation plan from every listing on a channel
📄️ Detach a coupon from a listing+channel
Detach a coupon from a listing+channel
📄️ Detach a coupon from every listing on a channel
Detach a coupon from every listing on a channel
📄️ Detach a promotion from a listing+channel
Detach a promotion from a listing+channel
📄️ Detach a promotion from every listing on a channel
Detach a promotion from every listing on a channel