Call the updateBrandProfile MCP tool
Changed onAdd to, or (only when the user asked for a change) replace parts of, the workspace's brand profile: ICP, market, positioning, competitors, proof, story, offer, conversation (objections/FAQ/policy), lexicon, style exemplars, case studies, people, guardrails, content pillars, updates, links, tone. Two-step: the FIRST call (no confirm_token) writes nothing and returns a preview (per section: what will be added, what is skipped because it is already set, and old vs new for replace sections) plus a confirm_token. Write the full proposal out to the user, ask whether to upload it to Reachium, then call again with the SAME patch/replace/source plus confirm_token. Add-only by default: existing values are never overwritten unless their section is listed in replace. Read getPlaybook("copywriting", "brand-profile-fields") before filling anything in.
Called through the Actions bridge: the response is that tool's own result, wrapped as { data: <tool result> } under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE data, never remapped to an HTTP status (see the templated /api/v1/actions/{toolName} operation above for the full protocol, and x-mcp-actions for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.
Request
- Base URL: https://app.reachium.io
- URL: https://app.reachium.io/api/v1/actions/updateBrandProfile
- Auth: HTTP bearer
Headers
Optional caller-generated key (8-200 characters: letters, digits, dot, underscore, colon, or hyphen). A final tool result is replayed for the same key and body. An ambiguous result remains 409 under that key; reconcile external state before using a new key. Reuse with a different body returns 422.
Request body
Response
The result of calling this tool.
Changes
- breaking
added the new required request property
//// - breaking
the
///request property type changed fromstringtoobject - warning
removed the request property
// - info
added the new optional request property
/ - info
added the new optional request property
/ - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
/ - info
added the new optional request property
/ - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
/ - info
added the new optional request property
/ - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
/ - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
// - info
added the new optional request property
//// - info
added the new optional request property
// - info
added the new optional request property
/ - info
added the new
category_nameenum value to the request property/ - info
added the new
content_prefsenum value to the request property/ - info
added the new
exclusionsenum value to the request property/ - info
added the new
founded_yearenum value to the request property/ - info
added the new
headcount_bandenum value to the request property/ - info
added the new
headquartersenum value to the request property/ - info
added the new
marketing_preferencesenum value to the request property/ - info
added the new
taglineenum value to the request property/
- breaking