Skip to main content
POST
Create CrmOpportunity
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:
  • StatusInProgress, 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-Create role.

Enums

Request Body

Required Fields

integer
required
ID of the crm board column linked to this record.
integer
required
ID of the coworker linked to this record.
integer
required
Opportunity status: InProgress (still active), Won (led to a sale), or Lost (did not lead to a sale). Defaults to InProgress.
integer
required
Display order of the opportunity within its current stage.

Optional Fields

string
Optional tag to identify this opportunity, useful when the same customer appears in multiple boards.
integer
ID of the team linked to this record.
integer
Opportunity type used to categorise and auto-populate general notes from a template.
integer
Admin user responsible for managing this opportunity.
integer
Customer who referred this opportunity.
integer
External agent or broker who brought this opportunity.
string
General notes visible to admins when viewing the opportunity. Auto-populated from the opportunity type template if a type is assigned.
boolean
Whether the opportunity has been completed (won or lost).
string
Follow-up date for the opportunity.
number
Expected revenue if the opportunity is won.
boolean
Whether a follow-up reminder has been sent for this opportunity.
integer
How the opportunity was acquired (e.g. Web, Phone, Referral, Broker, GoogleSearch). See eCrmOpportunitySource? enum above.
integer
Why the opportunity was lost (e.g. Price, Competition, Location). Only relevant when Status is Lost. See eCrmOpportunityLossReason? enum above.
string
Date when the opportunity was marked as won.
string
Date when the opportunity was marked as lost.
string
UTM source parameter captured from the URL the opportunity used.
string
UTM medium parameter captured from the URL the opportunity used.
string
UTM campaign parameter captured from the URL the opportunity used.
string
UTM content parameter captured from the URL the opportunity used.
string
UTM term parameter captured from the URL the opportunity used.

Code Examples

Response

200

integer
HTTP status code. 200 on success.
string
A human-readable message confirming the creation.
object
Contains the Id of the newly created record.
boolean
true if the crmopportunity was created successfully.
array
null on success.
Example Response

400

string
A summary of the validation error(s), in the format PropertyName: error message.
any
null on validation failure.
object[]
Array of validation errors.
boolean
false when the request fails validation.
Example Response