Campaigns
Invite people to assessments through campaigns, and read who has signed up or completed.
Create a campaign
Create a campaign with the admin create form. Nobody is invited yet: add people with POST .../users or invite them with POST .../invitations.
Get a campaign
One campaign in the admin shape, plus `invite_link_template` (plug `invite_token` in for the shareable sign-up link) and `progress` counts.
Send invitations
Add people and e-mail them the campaign invitation. Repeat for an existing participant to send it again. More than 10 recipients is queued (202).
Add participants
Add people to the campaign without sending anything. Assigns the campaign's assessments; an e-mail with no user on the account creates one. Answers who was added (`was_new_user`) and who was skipped with a reason.
Remove a participant
Remove a participant who has not started. Answers the same outcome as the admin bulk removal: `affected_count` 1 when removed, 0 with a `skipped` reason (`not_a_recipient`, `not_removable`) otherwise.
Query participants as a table
The campaign's participants as a user table (filters, sort, pagination as for /external/users/table). The `users.invite_campaign_user.token` column is the participant's personal invite token; plugged into `invite_link_template` it is the sign-in link the invitation e-mail sends. Delivering it yourself leaves `email_status` untouched.
List the columns for campaign table queries
List the columns for campaign table queries
Query campaigns as a table
The account's campaigns as a table: columns, filters, sort and pagination as for /external/users/table.