Skip to content
MockFlow DevelopersGet an API key

POST /boards/{boardId}/export

Updated 8 Oct 20264 min read
POST/boards/{boardId}/exportTry it
Basehttps://api.mockflow.com/v1Scopesboards:read

A PNG of the whole board, one frame with everything inside it, or one item on its own, drawn by the same renderer as the editor's Export. Drawing takes a browser, so this answers 202 with a Job; poll it, and the finished job's result carries imageUrl, width and height.

  • board is every item except comment pins, cropped to what they cover.

  • frame is a frame (a section, design frame, diagram frame, mood board and the like) and the items fully inside it. A design frame is cropped to its canvas, under its title bar.

  • item is one item alone, with nothing behind it.

The background is transparent. The image is published at an unguessable address: anyone with the URL can open it, so treat the URL like the board content it shows. Very large areas are refused before rendering: 20,000 x 20,000 pixels at scale 1, 10,000 x 10,000 at scale 2.

Authorization

Authorizationstringheaderrequired

Bearer <key>. The key needs boards:read scope. Create and manage keys in the developer console, or use an OAuth app to act for other people; what each scope unlocks is on the scopes page.

Path parameters

boardIdstringpathrequired

Headers

Idempotency-Keystringheader

A unique key per logical request. Replays within 24 hours return the original response.

Body

application/json
callbackUrlstring

Optional. When the job this request starts finishes or fails, a short body is POSTed here once: { eventId, status, boardId, boardUrl, imageUrl }, where status is succeeded or failed and imageUrl is a picture of what the job drew, or null. Signed with the workspace's callback secret (GET /webhooks/callback-secret). https to a public host. The full job is on GET /jobs/{jobId}.

targetenum<string>

What to draw. One of board, frame or item. Defaults to board.

itemIdstring

The frame or item to draw. Required unless target is board.

scaleenum<integer>

2 doubles the pixels, for retina screens and print. One of 1 or 2. Defaults to 1.

Response

202 · application/json
idstring
kindenum<string>

One of item.create, item.update, item.delete, item.batch, ai.generate, ai.modify, skill.apply or board.export.

statusenum<string>

One of queued, running, succeeded or failed.

progressinteger
messagestring

Human readable progress, for example "Placing kanban".

resultobject | null
Child attributes
itemIdsstring[]
updatedstring[]
deletedstring[]
creditsUsedinteger
boardTitlestring | null
skillstring | null
convertedFromstring
sourceDeletedboolean
targetenum<string>

board.export. What was drawn. One of board, frame or item.

formatenum<string>

board.export. One of png.

scaleenum<integer>

board.export. One of 1 or 2.

imageUrlstring

board.export. The PNG. Anyone with this URL can open it.

widthinteger

board.export. The image's width in pixels.

heightinteger

board.export. The image's height in pixels.

errorerror
Child attributes
codeenum<string>required

One of unauthorized, forbidden, not_found, validation_failed, conflict, plan_limit, rate_limited or internal.

messagestringrequired
detailsobject[]
docsUrlstring
upgradeUrlstring
createdAtstring
finishedAtstring | null
callbackUrlstring | null

Where the job's result is POSTed

callbackobject | null

The newest delivery to callbackUrl, once the job has finished. Null until then, and when there is no callbackUrl.

Child attributes
urlstring
deliveryIdstring
statusenum<string>

One of pending, retrying, succeeded, failed or cancelled.

attemptsinteger
responseStatusinteger | null
errorstring | null
deliveredAtstring | null
nextRetryAtstring | null

Errors

429rate_limited

Too many requests.

Was this page helpful?

Sign in to MockFlow

The same account you use in the app and on the API.

Forgot your password?
or
Continue with GoogleContinue with MicrosoftContinue with Apple