Private preview of the new site. Not live.

media.saveMarkup

Save markup over a photo as a new layer version: arrows, lines, boxes, circles, text and freehand strokes in 0..1 photo coordinates (0,0 is top left). The photo is never changed; earlier versions are kept. An empty list clears the markup.

WhoAgents can call this
RESTPOST /v1/media/markup
MCP toolmedia_saveMarkup
Writesyes, send an Idempotency-Key
AreaShop

When to use it

Save markup over a photo as a new layer version: arrows, lines, boxes, circles, text and freehand strokes in 0..1 photo coordinates (0,0 is top left). The photo is never changed; earlier versions are kept.

What to tell the owner

Say what you did in plain words and what happens next.

Input

FieldTypeRequired
media_idstring (uuid)yes
shapesarrayyes
shapes[].typestring (one of arrow, line, rect, ellipse, text, freehand)yes
shapes[].pointsarrayyes
shapes[].colorstringno
shapes[].widthintegerno
shapes[].textstringno

Example

POST https://doingwork.work/v1/media/markup
content-type: application/json
Idempotency-Key: 3f1c...

{
  "media_id": "00000000-0000-4000-8000-000000000000",
  "shapes": [
    {
      "type": "arrow",
      "points": [
        [
          "..."
        ]
      ]
    }
  ]
}

Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.