Create an Opportunity
Creates an Opportunity for an accessible Customer. propertyId is optional for external CRM imports that do not yet have a solarOS Property mapping. Stage changes do not create hidden downstream records. Requires Idempotency-Key.
Creates an Opportunity for an accessible Customer. propertyId is optional for external CRM imports that do not yet have a solarOS Property mapping. Stage changes do not create hidden downstream records. Requires Idempotency-Key.
Organization API key. Format: Bearer sk_live_...
In: header
Request Body
application/json
JSON request payload for createOpportunity.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/opportunities" \ -H "Content-Type: application/json" \ -d '{ "customerId": "customer_123", "propertyId": "property_123", "name": "Residential solar install", "stage": "PROPOSAL", "value": "42500", "expectedCloseDate": "2026-09-15" }'{ "data": {}, "meta": { "requestId": "string", "version": "v1", "timestamp": "2019-08-24T14:15:22Z", "rateLimit": { "limit": 0, "remaining": 0, "reset": 0 } }}