Creating participants
create_participants accepts a study_id and a participants array. Email addresses must be unique case-insensitively. Each participant supports silent: true to create the record without sending an invitation email.
Create and finish the study first. Call get_study, return the complete persisted plan to the user, and obtain explicit approval of that exact version. Only call create_participants after the study is provisioned and the current plan is approved. Approval to create a draft or answer Customize Plan questions is not plan approval.
Updates and rewards
Callget_participant before update_participant. Rewards are BYOP-only and can have a real financial side effect. Call send_participant_reward only after the user explicitly asks and after confirming the participant is the intended recipient. The backend prevents duplicate payment for an already-paid participant.
Participant deletion is not part of the public MCP surface.
