POST
/v1/guidesguides:writeCreates a draft guide with its brief and moments in one call. The guide is invisible to reps and cannot be assigned until every step has a target. Idempotent on Idempotency-Key.
Parameters
titlestringShown to reps in the assignment card.productstringSlug of an approved product domain in this workspace.briefobjectBuyer, company shape, problem, existing tools, and the sentence to beat.moments[]arrayOrdered moments with title, what_it_does, why_it_matters, when_relevant, intent, and marked.moments[].intentstringMapping direction only. It does not replace the three teaching fields.moments[].markedbooleanTrue asks the rep to answer in their own words. Two or three per guide.moments[].steps[]arrayOptional clicks within one moment, described in words.Request
{
"title": "Pulseflow for ops leaders",
"product": "pulseflow",
"brief": { "buyer": "Priya · Ops" },
"moments": [
{ "title": "Start where the pain is",
"what_it_does": "Surfaces failed runs in one view",
"why_it_matters": "Teams find customer impact sooner",
"when_relevant": "The buyer discovers failures reactively",
"intent": "open Runs, filter Failed",
"marked": false }
]
}Response
{
"id": "gd_8Kx2m",
"status": "draft",
"mapped": 0,
"moments_total": 8,
"mapping_url": "https://opptics.team/guides/gd_8Kx2m"
}Targets are never accepted in this call. CSS selectors and XPath are rejected with 422 — mapping happens in the extension, against the live DOM.