The docs’ example routes a support ticket to a department. With the options shipping, returns and billing, the answer comes back as {"type":"choice","choice":"returns","confidence":1.0,"probabilities":{"shipping":0.0,"returns":1.0,"billing":0.0}}. Your code reads choice to route and reads confidence to decide whether to route at all.
One line of advice in the docs is easy to skip and costly when you do. When your list of options might not cover every real case, add an “other” or “none of the above” option. Without one, the model has to push an off-list ticket into a listed bucket, and the probabilities will look more decisive than the situation deserves.
The 255-option ceiling is generous for routing and short for a product catalogue. Deep taxonomies get split into a cascade: one Choice picks the top-level category, a second picks within it, which also keeps each option list short enough to describe properly. The hierarchical classification cascade recipe has a worked version.
Choice is the question type to reach for when the set of answers is fixed and known. When the answers sit on a spectrum instead, use a Score.