Change a form's draft with ops
Applies a batch of ops to the working document: questions, flow, endings, settings, a look, placed pictures and text, background, music, screen sounds, celebrations and branding. Each op lands on its own; one that does not fit comes back in `rejected` with the reason and the rest still land. A setting the plan does not include comes back in `locked`. Asset ids come from the elements library or the organization's uploaded pictures. The draft is saved with the same fixes as `PUT /v1/forms/{id}/doc`; nothing is live until `POST /v1/forms/{id}/publish`.
A server-side secret key. Never send one from a browser — a request carrying an Origin header is refused for this reason.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/forms/string/ops" \ -H "Content-Type: application/json" \ -d '{ "ops": [ { "property1": null, "property2": null } ] }'{ "saved": true, "applied": 0, "rejected": [ { "op": null, "reason": "string" } ], "notes": [ { "op": null, "note": "string" } ], "locked": [ { "key": "string", "feature": "string", "plan": "string", "value": null } ], "fixes": [ { "code": "routes_reordered", "message": "string", "refs": [ "string" ] } ], "issues": [ { "level": "string", "code": "string", "message": "string", "path": "string", "refs": [ "string" ] } ], "builder_url": "string", "next_step": "string"}