Onboarding
Onboarding chat turn
One turn of an artist's onboarding, streamed as server-sent events. The server owns the step order (profiles → vault → interview → publish): a turn for a step that is not current gets an error event and the real step. Handlers are idempotent, so a repeated or interrupted turn resumes rather than repeats. A turn stops at 55 seconds and says so, and the server finishes the work even if the client disconnects.
Each event is a data: line holding one JSON object with a kind: chat, progress, step, candidate, linked, unreachable, source, sources, text-delta, choices, draft, complete or error. A turn ends with step, draft, complete or error.
Path Parameters
artistIdstringrequiredThe artist's ID (a UUID). Staging and production IDs differ.
Body
application/jsonrequiredoneOf · object 1
Start or resume. On a fresh claim this runs the whole auto-build: find profiles, search for sources, write the Lore and the About, and confirm every step.
typeanyrequiredoneOf · object 2
Confirm the profiles step, adding and removing links.
typeanyrequiredaddedLinksarray<object>requiredmaxItems: 100
Item properties for addedLinks
urlstringrequiredremovedSiteNamesarray<string>requiredmaxItems: 100
Item properties for removedSiteNames
string
oneOf · object 3
Apply link changes and search again, without confirming the step.
typeanyrequiredaddedLinksarray<object>maxItems: 100
Item properties for addedLinks
urlstringrequiredremovedSiteNamesarray<string>maxItems: 100
Item properties for removedSiteNames
string
oneOf · object 4
Approve or reject sources and add new ones; confirms the sources step.
typeanyrequireddecisionsarray<object>requiredmaxItems: 100
Item properties for decisions
sourceIdstringrequiredformat: uuid
statusstring · enumrequiredValues: "approved", "rejected"
addedUrlsarray<string>requiredmaxItems: 100
Item properties for addedUrls
string
oneOf · object 5
Answer or skip one interview question.
typeanyrequiredquestionKeystringrequiredanswerstring | nullrequirednull skips the question.
questionstringThe question text, for grounded (social_…) questions.
oneOf · object 6
Generate the About from the doc, or write it yourself.
typeanyrequiredmodestring · enumrequiredValues: "generate", "self"
docstringrequiredsourcesarray<object>Item properties for sources
object
oneOf · object 7
Publish the About and save the doc; confirms the publish step.
typeanyrequireddocstringrequiredaboutstringrequiredsourcesarray<object>Item properties for sources
object
expectedBiostring | nullrequiredThe bio the draft started from; a different current bio is refused.
Response
text/event-streamA stream of turn events.
string