---
title: "Read-only optimizer workflow: save_brief"
method: POST
path: "/workflow/save_brief"
---

# Read-only optimizer workflow: save_brief

`POST /workflow/save_brief`

## Request

- Base URL: `https://api.gravityads.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gravityads.dev/workflow/save_brief`
- Auth: HTTP bearer

## Request body

- object
  - `run_id` string, required
  - `revision` integer, required
  - `brief` Local8CreativeBriefInput, required
    - `objective` string, required
    - `audience` string, required
    - `hypothesis` string, required
    - `variable` 'hook' | 'visual' | 'copy' | 'cta' | 'format', required
    - `control` string, required
    - `variant` string, required
    - `primary_metric` string, required
    - `decision_rule` string, required
    - `observation_window` string, required
    - `production_requirements` string, required

## Response `200`

Authorized workflow state; no platform writes

- object

## Other responses

- `400`: Invalid workflow request
- `403`: Access denied

---

[API](https://skmtc.dev/gravityads/apis/gravityads-api.md) · [All operations](https://skmtc.dev/gravityads/apis/gravityads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gravityads/apis/gravityads-api/revisions/124cd07d534d?raw)
