cypress.DOCS
Log inRegister
Cypress Docs
Developers

Sales channels

Where a vehicle sells — public marketplace, branded storefront, direct links — and how the API selects them.

TL;DRAI summary

This chapter explains the different ways you can sell your vehicles on Cypress, like the public marketplace or your private storefront. Choosing the right sales channel helps you reach the best buyers and protect your brand.

Dive deeper:

Cypress distributes one listing to several selling surfaces. Each channel has its own audience and its own commission scheme; your org holds a grant per channel, and the API validates channels[] against those grants.

Your listingpriced onceMARKETPLACEall verified buyersSTOREFRONTyour branded audienceDIRECT_LINKanyone you hand the linkcommissions per channel,agreed account-level

The channels

  • MARKETPLACE (default) — the public Cypress marketplace. Broadest reach; buyers negotiate through offers.
  • STOREFRONT — your org's branded storefront. Can carry inventory withheld from the public marketplace (a listing with channels: ["STOREFRONT"] is not publicly browsable).
  • DIRECT_LINK — a shareable per-vehicle link, auto-provisioned at launch. Its URL comes back in listing responses and in the LISTINGS.ACTIVATED event — hand it to a buyer directly.

Curated promotions exist as a fourth surface and can join the API when you need them.

In practice

  • Broad liquidation — ["MARKETPLACE"]: maximum eyes, offer-driven price discovery. The default for de-fleeting and repossessions.
  • Protecting a retail brand — ["STOREFRONT"]: a dealer group sells aging units to its own wholesale audience without the cars appearing on the public marketplace next to its retail listings.
  • A negotiated single buyer — ["MARKETPLACE", "DIRECT_LINK"]: the link goes to the buyer you're already talking to; if they stall, the marketplace keeps working in the background. The link URL rides in every listing response and in LISTINGS.ACTIVATED.

Since 1.9.0. A seller can address a share link to one buyer company: POST /api/v1/vehicles/{id}/share-links (MCP: create_vehicle_share_link) with recipientOrgId, an active buyer on Cypress that is not your own company. The buyer hears MARKETPLACE.SHARE.RECEIVED in its own organization (opt-in, marketplace:read): the link with its token, the car's public facts and your name, as the link's page shows anyone who holds it. The link is still a link: anyone you hand it to can open it.

The buyer opens the car with GET /api/v1/marketplace/share-links/{token} (MCP: open_share_link, marketplace:read), even one kept off the open marketplace. It answers what GET /api/v1/marketplace/vehicles/{id} does, with the seller's terms (sellerTerms.versionId), and shareLink: its token, label, expiry, who shared it and addressedToYou. To offer, POST /api/v1/marketplace/vehicles/{id}/offers (MCP: make_offer) with p2pToken set to the token and the terms' sellerTermsVersionId. A revoked or expired link, or a car no longer for sale, answers 409; an unknown token 404.

Selecting channels via the API

{ "channels": ["MARKETPLACE", "DIRECT_LINK"], "buyNowPrice": 22500 }

One listing, one price, several surfaces (a deliberate divergence from Manheim's one-offering-per-channel model). Requesting a channel your org has no grant for answers 422 — grants are managed by Cypress on your account.

A Cypress manager's automation can set a vehicle's channels too, with the same rule and the same grants (the Set sales channels automation action, documented in Automations). When it changes an open API listing's channels, your LISTINGS.UPDATED webhook fires as for a push.