Create case
tribeunal_create_caseCreate a Tribeunal case for community decision-making — get a jury verdict, advice, or poll results. Use directly when a decision is needed.
Instructions
Create a case on Tribeunal for community decision-making — case (jury decides), advice (creator decides), or poll (opinion gathering). Use directly when the user wants something decided; do not search first. Cases are private by default; set visibility "public" to let anyone find and join. Add allowsGuestVotes to a private case for a link-poll instead: unlisted, votable via the link. A private case answers with a shareUrl to share. Refuses 400 if arbitrationMode pairs with allowsGuestVotes or minVotes under 2. Returns the created case; keys you need first: {uuid, title, state, url, shareUrl}. This only creates a case — edit it with tribeunal_update_case, remove it with tribeunal_delete_case, and change a side's picture later with tribeunal_update_side_image (sides[].image here sets only the initial picture).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Up to 4 category tags. | |
| type | Yes | case (binding jury decision), advice (input for the creator) or poll (opinion gathering) — changes only how the result reads, not the voting mechanics. | |
| sides | Yes | 2-10 choices voters pick between; each needs a name and may carry a description and an https image URL, fetched and re-encoded server-side (png/jpeg/webp, <=5 MB) for its vote card. | |
| title | Yes | The question or statement to be decided (3-200 characters). | |
| juryType | No | public (anyone) or invited (named jurors only). Omitted, it follows visibility: invited on a private case, public on a public case or a link-poll. | |
| minVotes | No | Fewest votes this case needs before it can reach a verdict (0-100, default 0 = no minimum). Close it with fewer and it ends with a Void verdict carrying voidReason "quorum_not_met" rather than deciding on a turnout of one or two. | |
| caseLength | No | Voting duration in seconds, 60 to 2,592,000 (30 days); defaults to 86400 (1 day). | |
| jurorCount | No | 2-100 jurors requested; defaults to 12. Only gates opening when openImmediately is false, holding the case in jury_selection until this many have joined. | |
| visibility | No | private (default: only you, invited jurors and admins) or public (anyone can find and read it). Pairing private with allowsGuestVotes makes a link-poll instead. | |
| description | Yes | Context, background and decision criteria (at least 10 characters). | |
| arbitrationMode | No | Bind this case to arbitration rules, for a verdict someone outside the case has to rely on (default false). You cannot vote on, join the jury of, or close early a case you created in this mode — an admin closes it, or it closes at its deadline; evidence marks freeze once it closes so the record it was decided on stops moving; and the early-vote and decisive-vote reward multipliers are switched off, so timing your vote no longer multiplies your payout. Requires minVotes of at least 2 (omit it and 3 is used) and cannot be combined with allowsGuestVotes. Use it when the case settles something with stakes — a dispute, a payout, a contract term — rather than gathering opinion. | |
| openImmediately | No | Defaults to true: opens for voting right away, with invited jurors free to join/vote while already open. Set false to wait in jury_selection until jurorCount jurors join. | |
| allowsGuestVotes | No | Defaults to false. Lets visitors with no account vote, full-weight and deduplicated per browser via a signed cookie. Requires a public jury — pairing it with a private case makes a link-poll. | |
| decisionRequirement | No | The weakest outcome this case will accept as a verdict (default "any"). "any" takes whatever the tally gives, down to a plurality. "simple" needs at least half, "qualified" at least 66%, "unanimous" every vote on one side. A case that reaches a stronger result than required still reports the stronger one. On any value other than "any", missing the requirement closes the case with a Void verdict carrying voidReason "requirement_not_met"; an "any" case that merely ties stays Undecided. | |
| maxAiJurorPercentage | No | 0-100; caps the share of jurors the platform may auto-seat as AI personas. Defaults to 50; set 0 for an all-human panel. |