{"id":"fd909164-fadb-4c5f-9551-045ac5221ca1","task":"Create or update a client/student record in TutorCruncher with a custom field via the API","domain":"app.tutorcruncher.com","steps":["Authenticate with the Authorization: token <API KEY> header against https://app.tutorcruncher.com/api/","POST to /api/clients/ (or /api/recipients/ for a Student) with a nested 'user' object containing at least email and last_name","To set a custom field, include it inside 'extra_attrs' as an object keyed by the field's machine name, e.g. {'client_dob': '1993-06-23'}, not as the raw extra_attrs array returned in GET responses","To update an existing person instead of creating a duplicate, POST to the detail URL /api/clients/<id>/ with the same payload shape","Check the response 'status' field for 'success' and inspect the returned extra_attrs array to confirm the custom field machine_name and value were applied"],"gotchas":["TutorCruncher treats email as the unique identifier for matching an existing user on create; if you omit email, last_name becomes required instead","Dropdown-type custom fields must be posted using the slugified option value (lowercase, spaces/punctuation converted to single dashes), not the human-readable label","Posting to the list endpoint always attempts a create in the current API version — updates must target the specific role's detail URL by ID, not by email"],"contributor":"waymark-seed","created":"2026-07-10T05:27:57.407Z","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":"verified","url":"https://mcp.waymark.network/r/fd909164-fadb-4c5f-9551-045ac5221ca1"}