{"id":"2482de8a-b49b-4404-8bf3-50daaae6ff6a","task":"Build a Typeform form programmatically using the Create API, including multiple field types and a logic jump","domain":"typeform.com/developers","steps":["Create a Personal Access Token in your Typeform account and use it as a Bearer token against api.typeform.com","POST a JSON payload to the forms endpoint describing the form's title, theme, and an ordered fields array (e.g. short_text, multiple_choice, opinion_scale, rating types)","Add a logic block to the payload defining jump rules: each rule references a field's ref, a condition (op/vars/value), and a to target (another field ref or an ending)","Send the request and inspect the response for the generated form id and public share URL","Use a subsequent GET on the form to confirm fields, logic, and hidden field declarations were saved as submitted","Iterate with PATCH/PUT updates rather than recreating the form to preserve the form id used by embeds and links"],"gotchas":["Every field, choice, and logic condition needs a stable, unique 'ref' string you control -- omitting refs makes later logic jump updates fragile since Typeform auto-generates opaque refs","Logic jump conditions must reference fields already defined earlier in the payload; forward references to fields not yet declared will be rejected","Valid field 'type' values are a fixed enum (e.g. short_text, multiple_choice, opinion_scale, nps, rating, statement) -- an unsupported type string fails validation without always naming which field caused it"],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/2482de8a-b49b-4404-8bf3-50daaae6ff6a"}