A CrmOpportunity represents a potential or existing deal linked to a customer record that moves through stages on a CRM board.
Opportunities track the lifecycle of a customer interaction — from initial enquiry or tour request through to a won or lost outcome. Each opportunity sits in a single CRM stage (CrmBoardColumn) and can be moved between stages manually or automatically via stage auto-assignment rules.
Key fields:
Status — InProgress, Won, or Lost. Stages with WinOpportunity or LoseOpportunity update this automatically.
LeadSource — how the opportunity was acquired (e.g. Web, Phone, Referral, Broker, GoogleSearch).
LossReason — why the opportunity was lost (e.g. Price, Competition, Location). Only meaningful when Status is Lost.
Value — expected revenue if the opportunity is won.
DueDate — follow-up date for the opportunity.
UTM fields — automatically populated from the URL the opportunity used to reach the sign-up or contact form.
There is a limit of 5,000 opportunities per location.
Authentication
This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header.
The authenticated user must be a full unrestricted administrator or have the CrmOpportunity-List role.
Enums
Value Name 1 Web 2 Phone 4 Webinar 5 Referral 6 PrintAdvert 7 PurchasedList 8 WordOfMouth 9 DirectEmail 10 EmailMarketing 11 Broker 12 PropertyAgent 13 Facebook 14 Linkedin 15 Instagram 16 Twitter 17 HubbleHq 18 LiquidSpace 19 GoogleSearch 20 SpacePool 21 InstantOffices 22 OfficeFreedom 23 FlexiOffices 24 Workthere 25 Kontor 26 Valve 98 OtherSocialNetwork 99 Other
eCrmOpportunityLossReason
Value Name 1 Timing 2 Need 3 PoorQualification 4 Price 5 Feature 6 LostMomentum 7 Competition 8 ContractTerm 9 Duplicate 10 Waitlist 11 NotReturningCalls 12 LackOfFacilities 13 NoPetPolicy 14 NoRightFit 15 Location 16 Entrance 17 Errors 18 Archived 19 SearchOnHold 20 RelocationOnHold 99 Other
eCrmOpportunityStatus — Status values
Value Name 1 InProgress 2 Won 3 Lost
Query Parameters
The page number to retrieve.
The number of records per page.
The property name to sort results by (e.g. Name, CreatedOn).
Sort direction. 1 for ascending, -1 for descending.
Filters
Filter by optional tag to identify this opportunity, useful when the same customer appears in multiple boards.
CrmOpportunity_CrmBoardColumn
Filter by Crm Board Column Id.
CrmOpportunity_CrmBoardColumn_Name
Filter by cRM stage name.
CrmOpportunity_CrmBoardColumn_CrmBoard_Id
Filter by cRM board ID.
CrmOpportunity_CrmBoardColumn_CrmBoard_Name
Filter by cRM board name.
CrmOpportunity_CrmBoardColumn_CrmBoard_Business_Id
Filter by business ID of the CRM board.
CrmOpportunity_CrmBoardColumn_CrmBoard_Business_Name
Filter by business name of the CRM board.
CrmOpportunity_CrmBoardColumn_CrmBoard_Business_Currency_Id
Filter by currency ID of the CRM board’s business.
CrmOpportunity_CrmBoardColumn_CrmBoard_Business_Currency_Code
Filter by currency code of the CRM board’s business.
CrmOpportunity_Coworker_FullName
Filter by customer full name.
CrmOpportunity_Coworker_CoworkerType
Filter by customer record type.
CrmOpportunity_Coworker_CompanyName
Filter by customer company name.
CrmOpportunity_Coworker_Email
Filter by customer email address.
CrmOpportunity_Team_Description
Filter by team description.
CrmOpportunity_Team_ProfileWebsite
Filter by team profile website.
CrmOpportunity_OpportunityType
Filter by opportunity type used to categorise and auto-populate general notes from a template.
CrmOpportunity_OpportunityType_Name
Filter by opportunity type name.
CrmOpportunity_Responsible
Filter by admin user responsible for managing this opportunity.
CrmOpportunity_Responsible_FullName
Filter by responsible admin full name.
Filter by customer who referred this opportunity.
Filter by external agent or broker who brought this opportunity.
Filter by general notes visible to admins when viewing the opportunity. Auto-populated from the opportunity type template if a type is assigned.
Filter by whether the opportunity has been completed (won or lost).
Filter by follow-up date for the opportunity.
Filter by expected revenue if the opportunity is won.
Filter by whether a follow-up reminder has been sent for this opportunity.
CrmOpportunity_LeadSource
Filter by how the opportunity was acquired (e.g. Web, Phone, Referral, Broker, GoogleSearch).
CrmOpportunity_LossReason
Filter by why the opportunity was lost (e.g. Price, Competition, Location). Only relevant when Status is Lost.
Filter by opportunity status: InProgress (still active), Won (led to a sale), or Lost (did not lead to a sale).
Filter by date when the opportunity was marked as won.
Filter by date when the opportunity was marked as lost.
CrmOpportunity_CrmUpdatedOn
Filter by timestamp of the last CRM-related update to this opportunity.
Filter by display order of the opportunity within its current stage.
Filter by uTM source parameter captured from the URL the opportunity used.
Filter by uTM medium parameter captured from the URL the opportunity used.
CrmOpportunity_UtmCampaign
Filter by uTM campaign parameter captured from the URL the opportunity used.
CrmOpportunity_UtmContent
Filter by uTM content parameter captured from the URL the opportunity used.
Filter by uTM term parameter captured from the URL the opportunity used.
Range Filters
from_CrmOpportunity_CrmBoardColumnCrmBoardId
Filter by cRM board ID greater than or equal to this value.
to_CrmOpportunity_CrmBoardColumnCrmBoardId
Filter by cRM board ID less than or equal to this value.
from_CrmOpportunity_CrmBoardColumnCrmBoardBusinessId
Filter by business ID of the CRM board greater than or equal to this value.
to_CrmOpportunity_CrmBoardColumnCrmBoardBusinessId
Filter by business ID of the CRM board less than or equal to this value.
from_CrmOpportunity_CrmBoardColumnCrmBoardBusinessCurrencyId
Filter by currency ID of the CRM board’s business greater than or equal to this value.
to_CrmOpportunity_CrmBoardColumnCrmBoardBusinessCurrencyId
Filter by currency ID of the CRM board’s business less than or equal to this value.
from_CrmOpportunity_DueDate
Filter by follow-up date for the opportunity greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunity_DueDate
Filter by follow-up date for the opportunity less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunity_Value
Filter by expected revenue if the opportunity is won greater than or equal to this value.
Filter by expected revenue if the opportunity is won less than or equal to this value.
from_CrmOpportunity_WonOn
Filter by date when the opportunity was marked as won greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by date when the opportunity was marked as won less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunity_LostOn
Filter by date when the opportunity was marked as lost greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by date when the opportunity was marked as lost less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunity_CrmUpdatedOn
Filter by timestamp of the last CRM-related update to this opportunity greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunity_CrmUpdatedOn
Filter by timestamp of the last CRM-related update to this opportunity less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunity_Position
Filter by display order of the opportunity within its current stage greater than or equal to this value.
to_CrmOpportunity_Position
Filter by display order of the opportunity within its current stage less than or equal to this value.
from_CrmOpportunity_CreatedOn
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunity_CreatedOn
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunity_UpdatedOn
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunity_UpdatedOn
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.
Code Examples
Simple listing
curl -X GET \
"https://spaces.nexudus.com/api/crm/crmopportunities?page=1&size=15&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Filtering by CreatedOn
curl -X GET \
"https://spaces.nexudus.com/api/crm/crmopportunities?CrmOpportunity_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Range filters
curl -X GET \
"https://spaces.nexudus.com/api/crm/crmopportunities?from_CrmOpportunity_UpdatedOn=2025-01-01T00:00&to_CrmOpportunity_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
200
The list of CrmOpportunity records matching the query. See the Get one CrmOpportunity endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each CrmOpportunity. The following fields are not populated in the Records[] response: TeamId, Notes, Value, Reminded, LeadSource, LossReason, Position, UtmSource, UtmMedium, UtmCampaign, UtmContent, UtmTerm.To get all fields, fetch the full record using the Get one CrmOpportunity endpoint. Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
Number of records per page.
The field used for sorting.
The sort direction (1 = ascending, -1 = descending).
Index of the first item on the current page.
Index of the last item on the current page.
Total number of matching records across all pages.
Whether there is a next page of results.
Whether there is a previous page of results.
{
"Records" : [
{
"Name" : null ,
"CrmBoardColumnId" : 0 ,
"CrmBoardColumnName" : null ,
"CrmBoardColumnCrmBoardId" : null ,
"CrmBoardColumnCrmBoardName" : null ,
"CrmBoardColumnCrmBoardBusinessId" : null ,
"CrmBoardColumnCrmBoardBusinessName" : null ,
"CrmBoardColumnCrmBoardBusinessCurrencyId" : null ,
"CrmBoardColumnCrmBoardBusinessCurrencyCode" : null ,
"CoworkerId" : null ,
"CoworkerFullName" : null ,
"CoworkerCoworkerType" : null ,
"CoworkerCompanyName" : null ,
"CoworkerEmail" : null ,
"TeamName" : null ,
"TeamDescription" : null ,
"TeamProfileWebsite" : null ,
"OpportunityTypeId" : null ,
"OpportunityTypeName" : null ,
"ResponsibleId" : null ,
"ResponsibleFullName" : null ,
"ReferrerId" : null ,
"AgentId" : null ,
"Completed" : false ,
"DueDate" : null ,
"Status" : 0 ,
"WonOn" : null ,
"LostOn" : null ,
"CrmUpdatedOn" : null ,
"Id" : 87654321 ,
"UpdatedOn" : "2025-01-15T10:30:00Z" ,
"CreatedOn" : "2025-01-10T08:00:00Z" ,
"UniqueId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"UpdatedBy" : "admin@example.com" ,
"IsNew" : false ,
"SystemId" : null ,
"ToStringText" : "CrmOpportunity Example" ,
"LocalizationDetails" : null ,
"CustomFields" : null
}
],
"CurrentPageSize" : 15 ,
"CurrentPage" : 1 ,
"CurrentOrderField" : "CreatedOn" ,
"CurrentSortDirection" : 1 ,
"FirstItem" : 1 ,
"HasNextPage" : false ,
"HasPreviousPage" : false ,
"LastItem" : 1 ,
"PageNumber" : 1 ,
"PageSize" : 15 ,
"TotalItems" : 1 ,
"TotalPages" : 1
}