Several buttons, one answer

Place buttons of which only one stays chosen at a time, each in its own spot, all belonging to the same question.

Asked for with "type": "radio_group"

In plain words

Written for anybody. It says what this puts on a sheet of paper, and asks nothing of you beyond that.

These are the little circles you choose between: Mr or Mrs, yes or no, morning or afternoon. They come as a group, and only one stays marked at a time: when the reader picks another, the first one lets go by itself. You place each button where you like on the sheet, beside its label, and you attach them all to the same question. You can also decide that, once a button is chosen, the reader always keeps an answer.

For a developer

Written for somebody who writes the calling program: the model, the units, and the settings that carry the weight.

The group is one named field; each button is a spot on the page that turns that field to its own value. Each button therefore carries its rectangle and its value, while the border, the background and the other shared settings hold for the whole group. The starting value and the one a reset restores are given by button name. The mark shown is picked among five symbols, the filled disc by default. An optional lock keeps an answer in place once a button is chosen.

Every key, with its default

The reference: which keys are required, which are optional, what each one defaults to and which combinations the server declines.

Required keys: name, a string; options, an array of objects with a required value (a string, distinct from every other button's and from Off) and a required rect. Optional keys of the group itself: selected, the value of the button chosen to start with; default_selected, the value of the button a reset restores; symbol, one of check, cross, circle, diamond or square (absent: the filled disc); no_toggle_to_off, a boolean at false, which keeps an answer once a button is chosen. Optional keys shared by every field: read_only, required, no_export, booleans at false; background; border (a required width, a color in light, a style); pages, default empty; relative_to. Cross refusal: a CMYK or named-space colour in border.color. The group carries its rectangles in its options: it has no rect of its own.

A whole request that draws it

Post this as it stands and a PDF comes back. Nothing has been left out of it.

{
  "items": [
    {
      "type": "radio_group",
      "name": "delivery",
      "options": [
        {"value": "morning", "rect": {"llx": 72, "lly": 700, "urx": 86, "ury": 714}},
        {"value": "afternoon", "rect": {"llx": 72, "lly": 676, "urx": 86, "ury": 690}}
      ],
      "border": {"width": 0.75}
    }
  ]
}

The line that sends it, in three languages

Form fields

A box the reader types into A box the reader ticks A list the reader picks from The place kept for a signature A button the reader presses

Where to go next

Every key of a request, in one page The other twenty things you can draw

See the prices See the examples

Glossary

CMYK
The four inks a printing press lays down: cyan, magenta, yellow and black. A screen mixes light instead, so a document going to a press states its colours in inks, not in screen colours.

Every word the site explains