Opportunity status on read endpoints, now WON/LOST
Fixed: status is now returned when reading opportunities
GET /opportunities/{opportunity_id}, GET /opportunities, and GET /opportunities/search now include the opportunity’s status. Create and update already accepted it, but these read endpoints never returned it. The legacy /requests aliases return it too.
Changed: closed opportunities are WON or LOST
Opportunity status uses WON and LOST for closed opportunities:
- Every opportunity response uses these values, including the response from
POST/PATCH /opportunities. POST/PATCH /opportunitiesand status search filters (e.g.?prop1=status&op1=eq&value1=WON) take the same values.- Project
statusis unchanged.
Changed: status search filters only accept exact-match operators
On GET /opportunities/search and GET /projects/search, a status filter now supports only eq, neq, in, and nin. Any other operator (e.g. contains, gt, between) returns a 400 VALIDATION_ERROR instead of a 200 with no results.
