Get a form's draft and versions
One onboarding form: its draft definition (sections and questions) with its revision, the live version creators fill in, its published versions, and what blocks publishing it. Read this before changing the form.
bearerAuth onboarding:readAuthorizationBearer <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:read
brandId*stringA brand id from GET /me or GET /creator/brands.
1 <= lengthformId*stringA form id from GET .../onboarding/flows/{flowId} (forms, or a form task's formId).
1 <= lengthSuccess.
application/json- response
id*stringflowId*|The flow that owns it.
name*stringrevision*numberSend as revision to PATCH .../onboarding/forms/{formId}.
archived*booleandefinition*The draft.
published*|The live version creators fill in. Null: never published.
versions*array<>Published versions, newest first. Restore one with POST .../versions/{versionId}/restore.
problems*array<string>What in the draft blocks publishing. Empty when it's ready.
curl -X GET 'https://example.com/api/v1/brands/string/onboarding/forms/string'{ "id": "string", "flowId": "string", "name": "string", "revision": 0, "archived": true, "definition": { "sections": [ { "id": "string", "title": "string", "description": "string", "pageBreak": true, "condition": { "fieldId": "string", "op": "equals", "value": "string" }, "fields": [ { "id": "string", "type": "short_text", "label": "string", "help": "string", "placeholder": "string", "required": false, "width": "full", "options": [ "string" ], "validation": { "minLength": 0, "maxLength": 1, "min": 0, "max": 0, "pattern": "string", "patternMessage": "string", "allowedDomains": [ "string" ] }, "platform": "instagram", "profileKey": "name", "rating": { "max": 5 }, "file": { "accept": [ "image" ], "maxMb": 1 }, "media": { "kind": "image", "url": "string", "fileId": "string" }, "condition": { "fieldId": "string", "op": "equals", "value": "string" } } ] } ] }, "published": { "versionId": "string", "version": 0, "definition": { "sections": [ { "id": "string", "title": "string", "description": "string", "pageBreak": true, "condition": { "fieldId": "string", "op": "equals", "value": "string" }, "fields": [ { "id": "string", "type": "short_text", "label": "string", "help": "string", "placeholder": "string", "required": false, "width": "full", "options": [ "string" ], "validation": { "minLength": 0, "maxLength": 1, "min": 0, "max": 0, "pattern": "string", "patternMessage": "string", "allowedDomains": [ "string" ] }, "platform": "instagram", "profileKey": "name", "rating": { "max": 5 }, "file": { "accept": [ "image" ], "maxMb": 1 }, "media": { "kind": "image", "url": "string", "fileId": "string" }, "condition": { "fieldId": "string", "op": "equals", "value": "string" } } ] } ] } }, "versions": [ { "id": "string", "version": 0, "publishedAt": "string" } ], "problems": [ "string" ]}List onboarding flows GET
The brand's onboarding flows, as on Onboarding › Flows: each flow's tasks in order, its join group, its invite links with their sign-up URLs and the group each one places joiners in, and how many creators are in it or joined through it. Task and link ids filter GET .../onboarding/submissions.
Replace a form's draft PATCH
Save a form's draft definition, as the form builder does. It replaces the whole draft: send every section and question, keeping the ids of questions you keep (answers are stored under them). Creators see it when the flow is published. 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. Returns the new revision and what still blocks publishing the form.