Bloss Docs

Change a flow's draft: tasks and settings

Developers
PATCH
/brands/{brandId}/onboarding/flows/{flowId}/draft

Save changes to a flow's draft, as the flow editor does. Creators see nothing until the flow is published (brand.onboarding.flow.publish). Send revision and only the parts that change: tasks replaces the whole task list (in order, at most 20), each setting replaces that setting. Read the current draft with brand.onboarding.flow.get. The draft's revision as you last read it. If anyone has saved the draft since, nothing is saved and the call answers 409 conflict with details.currentRevision: read it again, reapply your change, and retry. A task pointing at a form of another flow, another brand's agreement or an unknown group is refused (400). An archived flow can't be edited (409). Returns the new revision, the saved tasks (with the ids made for new ones) and what still blocks publishing.

Authorization

bearerAuth onboarding:write
headerAuthorizationBearer <token>

Personal access token. Scopes: account:read, creator:read, creator:earnings, managed:read, coach:read, brand:read, creators:read, videos:read, analytics:read, onboarding:read, onboarding:signatures, engagement:read, support:read, integrations:read, payouts:read, funds:read, billing:read, groups:write, videos:write, onboarding:write, sync:write, payouts:write.

Scope: onboarding:write

Path Parameters

brandId*string

A brand id from GET /me or GET /creator/brands.

Length1 <= length
flowId*string

A flow id from GET /brands/{brandId}/onboarding/flows.

Length1 <= length

Request Body

application/json
  1. body
revision*integer

The draft's revision as you last read it. If anyone has saved the draft since, nothing is saved and the call answers 409 conflict with details.currentRevision: read it again, reapply your change, and retry.

Range0 <= value <= 9007199254740991
tasks?array<>

The full task list, in order. Replaces the draft's tasks.

Itemsitems <= 20
completionMode?string

"auto_join": creators join the brand as soon as they finish every task; "approval": they wait for an admin to approve them (brand.onboarding.submissions.approve).

Value in"auto_join""approval"
joinGroupId?|

A group id from GET .../creator-groups: creators who join go into it, whatever link they used. Null: none.

welcomeMessage?|

Shown before the first task, up to 2,000 characters. Null: none.

finishMessage?|

Shown once every task is done, markdown, up to 4,000 characters. Null: the default.

preJoinVideosIrrelevant?boolean

Mark every post a joining creator made before they joined as irrelevant.

Response Body

Success.

application/json
  1. response
revision*number

The draft's new revision.

tasks*array<>
unpublishedChanges*boolean
problems*array<>

What still blocks publishing. Empty when it can be published.

curl -X PATCH 'https://example.com/api/v1/brands/string/onboarding/flows/string/draft' \  -H 'Content-Type: application/json' \  -d '{  "revision": 0}'
{  "revision": 0,  "tasks": [    {      "id": "string",      "kind": "form",      "title": "string",      "description": "string",      "deadlineHours": 0,      "formId": "string",      "agreementId": "string",      "infoMarkdown": "string"    }  ],  "unpublishedChanges": true,  "problems": [    {      "taskId": "string",      "message": "string"    }  ]}

Was this page helpful?