{"id":"code-work-mkt-json-subscriber-payload","audience":"marketing","category":"coding","track":"coding","technique":"format","title":"Build a JSON payload in the exact shape an API wants","free":false,"task":"Turn the new sign-ups into the JSON body for the Postbird bulk-add call, in exactly the shape the doc shows. Your list uses double opt-in, so every status must be pending, not subscribed. Leave out Jordan Pike, who called to say he didn't mean to sign up. Tag everyone fall-fair. One code block with only the JSON, then under 15 words outside the code.","materialLabel":"API doc snippet and sign-up sheet (attached to your prompt automatically)","material":"POSTBIRD API - Bulk add members (docs excerpt)\nPOST /v2/lists/{list_id}/members/bulk\nBody:\n{\n  \"members\": [\n    {\n      \"email_address\": \"string\",\n      \"status\": \"subscribed | pending | unsubscribed\",\n      \"merge_fields\": { \"FNAME\": \"string\", \"LNAME\": \"string\" },\n      \"tags\": [\"string\"]\n    }\n  ]\n}\nUp to 500 members per call. Unknown fields are rejected with a 400 error.\n\nSIGN-UP SHEET - Hollow Creek Fall Fair booth, Oct 18\nName | Email | Interested in\nMarisol Vega | marisol.vega@mailbox.example | Cooking classes\nJordan Pike | jpike@inbox.example | Garden tools\nTheo Brandt | theo.b@mailbox.example | Cooking classes\nAiko Tanaka | aiko.tanaka@post.example | Kids events\n\nNotes:\n- The paper sheet was typed up by Lila on Monday.\n- Two more pages are still in the van.","rules":[{"type":"codeBlocks","count":1},{"type":"maxProseWords","max":15}],"mistakes":[{"title":"Not insisting on the doc's shape","why":"The AI adds helpful fields like interests, which this API rejects with an error.","fix":"Add: \"Exactly the doc's shape, no extra fields.\"","checks":["r0"]},{"title":"Not mentioning double opt-in","why":"The AI marks everyone subscribed, skipping the confirmation email.","fix":"Add: \"Status pending for everyone, tag fall-fair.\"","checks":["r1"]},{"title":"Forgetting the phone call","why":"The AI can't know someone asked to be left off.","fix":"Add: \"Leave out Jordan Pike.\"","checks":["r2"]},{"title":"Getting a menu of options","why":"The AI likes to offer two or three versions of the payload, so you're left to pick and test them yourself.","fix":"Add: \"Give one payload only, in one code block, no alternatives.\"","checks":["codeBlocks"]},{"title":"Getting a tutorial","why":"By default the AI explains every part of the code at length, which you then have to scroll past.","fix":"Add: \"After the code, one line under 10 words. Nothing else.\"","checks":["maxProseWords"]}],"promptHints":[{"label":"Sticks to the doc's shape","patterns":["exact(ly)? (the )?shape","no extra fields","only (these|the) fields"]},{"label":"Sets the status","patterns":["pending","double opt"]},{"label":"Leaves someone out","patterns":["jordan","leave out","exclude|skip"]},{"label":"Adds the tag","patterns":["fall-fair","tag"]},{"label":"Asks for one answer only","patterns":["\\b(one|single|1)\\s+(payload|json|code block|block|version)","only one","no (alternatives|options|other versions)"]}],"hint":"The doc is strict and the sheet isn't the whole story. Tell the AI the status to use, who to leave out, and that extra fields get rejected.","rubricLabels":["Matches the doc's shape exactly: a top-level members array of objects with only email_address, status, merge_fields (FNAME and LNAME) and tags, and no extra fields such as interests or source","Sets status to pending for every member (not subscribed) and tags each one with fall-fair","Includes Marisol Vega, Theo Brandt and Aiko Tanaka, and leaves out Jordan Pike"]}