Create a new persona (role-play avatar)
Creates a new persona definition — an AI avatar that plays a defined role in a free-form conversation instead of running a scored Q&A interview. No AI question/description generation runs; the persona role fields are the configuration. Provisions default conversational steps and optionally an embed key. Personas are a coaching-platform feature — only available on the coaching portal, not the standard interview portal.
Authorizations
Supabase JWT — Authorization: Bearer <token>.
Body
Persona / session name.
1"Difficult customer role-play"
Id of the interview template (avatar) the persona uses.
1"baa3bf7c-6926-46fd-9005-16738a31f72d"
Platform language code used for the conversation. Must be one of the platform-languages.json codes.
ar, bg, zh, hr, cs, da, nl, en, fil, fi, fr, de, el, hi, hu, id, it, ja, ko, ms, no, pl, pt, br, ro, ru, sk, es, sv, ta, th, tr, uk, vi "en"
Lifecycle status of the interview. Options — draft: Created but not published — not visible to candidates and cannot be run yet. Use to stage an interview before going live. | active: Published and live — candidates can run it..
draft, active "active"
Who can discover and access the interview. Options — merchant_public: Listed on the merchant's public interview list — anyone with the merchant link can find and start it. | merchant_invite: Invite-only — only candidates explicitly invited (by email/link) can access it; not listed anywhere. | merchant_unlisted: Reachable only via a direct link — not listed anywhere; share the link manually..
merchant_public, merchant_invite, merchant_unlisted "merchant_public"
The role the AI avatar plays. Example: 'is to act as a happy customer responding to questions'.
1"is to act as a happy customer responding to questions"
The role the candidate (mentee) plays. Example: 'is to be a sales person trying to sell an additional product to the customer'.
1"is to be a sales person trying to sell an additional product to the customer"
Who the avatar represents (background/identity of the persona).
What the avatar knows — facts/context the avatar can draw on during the conversation.
Conditions under which the avatar should end the session.
Mentee assessment goals — free-text describing what the candidate is expected to achieve (max 2100 chars).
2100Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit/null to disable. Options — audio_first_5_answers: Audio-only cheating detection, first 5 answers only. | audio_all: Audio-only cheating detection on every answer. | video_all: Audio + video cheating detection on every answer (candidate is recorded for all answers). | video_first_5_answers: Audio + video cheating detection, first 5 answers only..
audio_first_5_answers, audio_all, video_all, video_first_5_answers "video_all"
Full interview-session recording (includes the avatar and voice) produced as a single file. Independent of recording. Omit/null to disable. Options — audio_all: Record the whole session audio (avatar + candidate voice) into a single file. Adds +0.2 credits. | video_all: Record the whole session video + audio (avatar + candidate) into a single file. Adds +0.4 credits..
audio_all, video_all "video_all"
Result screen shown to the candidate after finishing. With any value other than none, the candidate sees a results screen where they can provide feedback, record an intro video and edit the transcript, and must then submit the result; the value sets how much score/result detail is shown. Options — none: No results screen at all — the interview is submitted immediately when the candidate finishes (no feedback, intro video, transcript edit or manual submit step). | minimal: Minimal results layout, no score shown. | minimal_with_score: Minimal results layout including the overall score. | advanced: Advanced results layout with more detail. | full: Full results layout with all sections. | full_expand_scores: Full results with every score breakdown expanded..
none, minimal, minimal_with_score, advanced, full, full_expand_scores "full"
Conversation pace of the AI avatar. Omit/null keeps the template default pace. Options — slower: The avatar speaks more slowly — easier to follow for non-native speakers. | normal: Default speaking pace. | faster: The avatar speaks more quickly for a snappier conversation..
slower, normal, faster "normal"
Whether a candidate video introduction is optional or required.
optional, required "optional"
Maximum conversation duration in seconds. Defaults to 1200 (20 min) when omitted.
1200
Optional external code/reference for the persona.
"my code"
Cover image URL.
"https://example.com/cover.png"
Optional location label shown for the session.
"remote"
Merchant id. Admin / sub-merchant callers only; otherwise taken from your token.
"28106cba-1c27-4e53-b149-32113e5e8e31"
Profile id of the recruiter owning this persona. Must be a merchant/merchant_owner/admin profile of the same merchant.
Custom welcome message shown to the candidate.
Custom thank-you message shown after the session.
Free-form tags stored on the persona.
["sales", "role-play"]Set true when the persona will be embedded as an iframe on an external page. Provisions an embed key and returns embed_id / embed_signing_key.
false
Response
Persona created.
Id of the created persona. Includes embed_id/embed_signing_key when is_embedded=true.