Bloss Docs

Set or clear the group a flow puts joiners in

Developers
POST
/brands/{brandId}/onboarding/flows/{flowId}/join-group

Change the creator group a flow puts new joiners in, straight away, without editing the draft and publishing. The flow's group wins over a link's own group; null clears it, so each link's own group applies again. The live flow and its draft both change (the draft's revision goes up, so the next publish keeps the new group), and creators partway through move onto it as they would on publish (updatedSubmissions), so they join the new group too. Creators already waiting for approval keep the group of the version they finished, and creators who already joined stay where they are. The group must be one of the brand's (400 bad_group); an archived flow answers 409. Returns the flow's group and where each of its links now places joiners. With ?dryRun=true nothing is written: the answer shows the live and draft group before, the group after, each link's placement before and after, and how many creators are in progress or waiting for approval.

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

Query Parameters

dryRun?string

"true": run every check and return { dryRun: true, wouldChange } without changing anything.

Value in"true""false"

Request Body

application/json
  1. body
groupId*|

A group id from GET /brands/{brandId}/creator-groups. Null: the flow sets no group.

Response Body

Success.

application/json
  1. response
id*string
joinGroup*|

The flow's join group now, or null.

draftRevision*number

The draft's revision now, for PATCH .../draft.

updatedSubmissions*number

Creators partway through moved onto the new group.

links*array<>
curl -X POST 'https://example.com/api/v1/brands/string/onboarding/flows/string/join-group' \  -H 'Content-Type: application/json' \  -d '{  "groupId": "string"}'
{  "id": "string",  "joinGroup": {    "id": "string",    "name": "string"  },  "draftRevision": 0,  "updatedSubmissions": 0,  "links": [    {      "id": "string",      "label": "string",      "active": true,      "effectiveGroup": {        "id": "string",        "name": "string",        "source": "flow"      }    }  ]}

Was this page helpful?

Get an onboarding flow with its draft GET

One flow as its editor sees it: the live version creators get, the draft (tasks and settings) with its revision, whether publishing would change anything and what blocks it, the forms the flow owns with their revisions, and its sign-up links. Read this before changing the draft. To build a flow: create it (brand.onboarding.flows.create), add a form for each form task (brand.onboarding.flow.forms.create) and write its questions (brand.onboarding.form.update), write agreements (brand.onboarding.agreements.create), set the tasks and settings (brand.onboarding.flow.draft.update), then publish with goLive (brand.onboarding.flow.publish).

Publish a flow's draft POST

Make the draft live in one go: its tasks and settings, the draft of every form its tasks use (each renamed after its task) and of every agreement they use, each as a new version when it changed. `goLive: true` also activates a draft or paused flow, and gives a flow with no links its first one ("Main link", returned as `link`). Refused with 400 and `details.problems` (taskId, message) while anything isn't ready; an archived flow answers 409. Creators partway through move onto the new version for the tasks they haven't finished (`updatedSubmissions`); one whose remaining tasks were all removed finishes, joining or waiting for approval. Preview with dryRun: whether anything would change, what blocks it, and how many open submissions would move. A brand key can't take a flow with no links live (403): the first link records who made it.