Update org sales profile
Upsert the current org's sales/ICP profile. Only provided fields are written. Set `mark_onboarding_complete` to stamp onboarding_completed_at and switch the Workspace to the signals home. **Free (0 credits).**
Upsert the current org's sales/ICP profile. Only provided fields are written. Set mark_onboarding_complete to stamp onboarding_completed_at and switch the Workspace to the signals home. Free (0 credits).
API key (sk_live_... prefix). Generate keys in the UI under Settings > API Keys, then send it as Authorization: Bearer sk_live_...
In: header
Request Body
application/json
Seller's company name
Seller's company website URL
What the company is / does
What the company sells
Ideal customer profile, in prose
Self-reported sales territory (uppercase 2-letter state codes)
items <= 60When true, stamps onboarding_completed_at = now() so the Workspace switches from the onboarding chat to the signals home. Set this once the company + ICP have been captured and confirmed by the user.
Response Body
application/json
application/json
curl -X PATCH "https://loading/api/v1/sales-profile" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"org_id": "550e8400-e29b-41d4-a716-446655440000",
"company_name": "string",
"company_website": "string",
"company_description": "string",
"product_summary": "string",
"icp_description": "string",
"territory_states": [],
"onboarding_completed_at": "string",
"created_at": "string",
"updated_at": "string"
}
}{
"error": "string",
"message": "string",
"statusCode": -9007199254740991
}Get org sales profile GET
Returns the current org's sales/ICP profile gathered during Workspace onboarding. If onboarding hasn't started, returns an empty profile shape (org_id + nulls) rather than 404. **Free (0 credits).**
Search schools GET
Search and filter schools. Same access control pattern as districts. **Free (0 credits).**