cypress.DOCS
Log inRegister
Cypress Docs

Domain model

The records Cypress keeps, their ids, how they link, their states, what changes them and what they announce. The map an agent platform builds its own model from.

TL;DRAI summary

This chapter explains how Cypress organizes your business information, like vehicles, listings, and offers. Understanding these "records" helps you see how they connect, what different states they can be in, and what actions change them within the platform.

Dive deeper:

An agent platform that keeps its own model of your business, such as Palantir Foundry's ontology, Salesforce Data 360 or Dataverse tables, or your own warehouse, maps Cypress onto it from this page. It lists the records, what identifies them, how they link, the states they move through, what changes them, and the events that say they changed.

What every record carries

  • id: Cypress's own, an opaque string such as clx…. It never changes and has no type prefix: keep it as it comes.
  • externalIds: your own systems' ids (source and id, one per source), on vehicles, listings, contacts, companies, deals and tasks. A list finds the record your system calls by one with externalId=<source>:<id>. See Your own ids.
  • links.app: where a person opens it in Cypress, a /go/<type>/<id> link that checks the access of whoever follows it. Never build one yourself.
  • href: the API address of its latest state.

The records

RecordRead it withYour idsOpens at
VehicleGET /api/v1/vehicles, find with type: vehicleYes/go/vehicle/…
ListingGET /api/v1/listingsYesIts vehicle
OfferGET /api/v1/offersNo/go/offer/…
ClosingGET /api/v1/closingsNo/go/closing/…
ContactGET /api/v1/contactsYes/go/contact/…
CompanyGET /api/v1/businessesYes/go/business/…
DealGET /api/v1/dealsYes/go/deal/…
TaskGET /api/v1/tasksYes/go/task/…
CampaignGET /api/v1/campaignsNo/go/campaign/…
Buy targetGET /api/v1/buy-planning/targetsNo/go/buy-target/…
Plan vehicleGET /api/v1/planning/vehiclesNoIts vehicle

A plan vehicle is a vehicle's place in the Sell plan, by the vehicle's own id. A company is a business in the API's paths and links.

States

RecordFieldValues
VehiclestatusDRAFT, REVIEW, PENDING_APPROVAL, APPROVED, PRE_LISTED, LISTED, ON_HOLD, UNDER_OFFER, OFFER_ACCEPTED, DUE_DILIGENCE, READY_TO_DELIVER, SOLD, ARCHIVED
VehiclelifeStageOPERATION, PLANNING, REMARKETING, POST_SALE, RETIRED
ListingstatusREQUESTED, ACTIVE, PAUSED, SOLD, NOT_SOLD, CANCELLED
OfferstatusNEW, REVIEWED, COUNTERED, ACCEPTED, REJECTED, EXPIRED, WITHDRAWN, CANCELLED
ClosingstatusIN_PROGRESS, COMPLETED, CANCELLED
ContactlifecyclePROSPECT, REACHED, ENGAGED, ON_PLATFORM, ACTIVE, DORMANT
TaskstatusOPEN, DONE, CANCELLED
CampaignstatusDRAFT, ACTIVE, PAUSED
Buy targetstatusOPEN, FILLED, PAUSED, CLOSED, ENDED
Plan vehiclemembershipStateCANDIDATE, STAGED, CONDITIONAL, PROMOTED, SLIPPED, HELD, IN_OPERATION, PARKED

A deal's stage is one of its pipeline's stages, which your organization names: read them with GET /api/v1/deals/stages. A closing moves through steps, each with whose turn it is and its deadline.

FromToByNote
ListingVehiclevehicleIdA vehicle has at most one open listing, named on it as listing
OfferVehiclevehicleIdAn offer never names the other side's buyer or seller
ClosingVehiclevehicle
ClosingThe other sidecounterpartyIts organization's name only, never a person
ContactCompanybusinessId
DealContact, companycontactId, businessId
DealVehiclesvehiclesMany: each with its ask amount and outcome; GET /api/v1/deals?vehicleId= reads the other way
TaskWhat it is aboutlinksA contact, deal, company, vehicle, buy target or part of the Sell plan
CampaignVehiclesvehicleIds
Plan vehicleVehiclevehicleId

Prices are the same three numbers wherever they appear: a vehicle's pricing and a listing's own fields, floorPrice (the seller's reserve), buyNowPrice (what buyers see) and startBidPrice, in US dollars.

What changes them, and what they announce

RecordChanged byKept for a personEvents
Vehicleadd_vehicle, edit_vehicle, launch, pause_vehicle, request_vehicle_archiveThe floor, resuming a car or taking it off the market, its status by handVEHICLES.CREATED, VEHICLES.UPDATED, VEHICLES.DISPOSITION.STAGED
Listinglaunch, reprice, update_listingTaking a car off the marketLISTINGS.ACTIVATED, LISTINGS.PAUSED, LISTINGS.CANCELLED, LISTINGS.PURCHASED
Offeranswer_offerAccepting or countering below the floorOFFERS.CREATED, OFFERS.ACCEPTED, OFFERS.DECLINED, OFFERS.COUNTERED
Closingadvance_closingConfirming that money arrived, documents and signaturesCLOSING.STARTED, CLOSING.STEP.COMPLETED, CLOSING.STEP.DUE, CLOSING.COMPLETED
Contactcreate_contact, update_contact, logEmailing it in your name, deleting itCONTACT.CREATED, CONTACT.UPDATED, OUTREACH.LOGGED
Companycreate_business, update_business, logDeleting itBUSINESS.CREATED, BUSINESS.UPDATED
Dealcreate_deal, move_deal_stage, logDeleting itDEAL.CREATED, DEAL.STAGE_CHANGED
Tasklog, update_task, complete_taskTASK.CREATED, TASK.ASSIGNED, TASK.COMPLETED
Campaigncreate_campaign, set_campaign_content, pause_campaignActivating and sending itCAMPAIGN.ACTIVATED, CAMPAIGN.SENT, CAMPAIGN.PAUSED
Buy targetcreate_buy_target, change_buy_targetApproving the quarterBUY.TARGET.CREATED, BUY.TARGET.MATCHED, BUY.TARGET.FILLED
Plan vehicleschedule_plan_vehicles, move_plan_vehiclesApproving the quarterPLAN.VEHICLE.SCHEDULED, PLAN.HANDED_TO_SELL

Every tool here is in MCP servers and Core tools; every event, with its body, in Webhooks. What an agent may do on each is in What an agent can and cannot do. To keep a copy in step, see Events and sync.