Update Company Profile
PUT /company-profile
Set this org’s company profile (website + fields).
Why this exists. The company profile is the source of truth for Studio
generation. Self-serve orgs that sign up without a domain get a profile seeded
with graph8’s own details, so every generated document describes the wrong
company — and the only write path was POST /company-profile, an internal
JWT route absent from both the developer API and MCP. An agent could therefore
detect the problem but never fix it, and could not even read the field back to
confirm a human had fixed it.
Approved profiles are immutable. Pass unapprove_if_approved: true to
deliberately unlock and overwrite one; otherwise this returns 409 rather than
quietly discarding a human’s approval.
Changing the website does NOT regenerate existing Studio documents — they were
generated from the old site. Follow with
POST /api/v1/global-context/regenerate.
Authorizations
Parameters
Header Parameters
Request Body required
object
Profile fields to save, e.g. {‘company_name’: ‘Acme’, ‘industry’: ‘Manufacturing’}. Replaces the stored field set.
object
Approved profiles are immutable by design. Set true to explicitly unlock and overwrite a human-approved profile. Left false, an approved profile returns 409 instead of being silently unapproved.
The client’s real website. This is the source of truth Studio generation reads; setting it wrong is what makes every downstream ICP, persona and campaign describe the wrong company.
Responses
200
Successful Response
object
object
422
Validation Error