A CrmOpportunityHistory records a single stage transition for a CRM opportunity. Each time an opportunity moves from one CRM stage to another, a history entry is created capturing the previous stage, the new stage, when the move happened, and which admin user triggered it.
Use this entity to audit the movement of opportunities across a CRM board over time. The History tab on an opportunity in the Nexudus UI displays these records.
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 CrmOpportunityHistory-List role.
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
CrmOpportunityHistory_CrmOpportunity
Filter by the opportunity this history entry belongs to.
CrmOpportunityHistory_OldCrmBoardColumn
Filter by cRM stage the opportunity moved from (null for the initial placement).
CrmOpportunityHistory_OldCrmBoardColumn_Name
Filter by name of the previous CRM stage.
CrmOpportunityHistory_FromTime
Filter by when the opportunity entered the previous stage.
CrmOpportunityHistory_ToTime
Filter by when the opportunity left the previous stage and entered the new one.
CrmOpportunityHistory_NewCrmBoardColumn
Filter by cRM stage the opportunity moved to.
CrmOpportunityHistory_NewCrmBoardColumn_Name
Filter by name of the new CRM stage.
CrmOpportunityHistory_User
Filter by admin user who triggered the stage transition (null if moved automatically).
CrmOpportunityHistory_User_FullName
Filter by full name of the admin user who triggered the transition.
Range Filters
from_CrmOpportunityHistory_FromTime
Filter by when the opportunity entered the previous stage greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunityHistory_FromTime
Filter by when the opportunity entered the previous stage less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunityHistory_ToTime
Filter by when the opportunity left the previous stage and entered the new one greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunityHistory_ToTime
Filter by when the opportunity left the previous stage and entered the new one less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunityHistory_CreatedOn
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunityHistory_CreatedOn
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_CrmOpportunityHistory_UpdatedOn
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CrmOpportunityHistory_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/crmopportunityhistories?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/crmopportunityhistories?CrmOpportunityHistory_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Range filters
curl -X GET \
"https://spaces.nexudus.com/api/crm/crmopportunityhistories?from_CrmOpportunityHistory_UpdatedOn=2025-01-01T00:00&to_CrmOpportunityHistory_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
200
The list of CrmOpportunityHistory records matching the query. See the Get one CrmOpportunityHistory endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each CrmOpportunityHistory. The following fields are not populated in the Records[] response: FromTime, ToTime.To get all fields, fetch the full record using the Get one CrmOpportunityHistory 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": [
{
"CrmOpportunityId": null,
"OldCrmBoardColumnId": null,
"OldCrmBoardColumnName": null,
"NewCrmBoardColumnId": 0,
"NewCrmBoardColumnName": null,
"UserId": null,
"UserFullName": 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": "CrmOpportunityHistory 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
}