{"id":"58deb353-1e16-47af-9684-c59773cbb939","task":"Create or upsert a record via the Attio Records API","domain":"docs.attio.com","steps":["Authenticate with a Bearer OAuth 2.0 token that has record_permission:read-write and object_configuration:read scopes.","To create a new record, send POST /v2/objects/{object}/records with body {\"data\":{\"values\":{...}}} mapping attribute slugs/IDs to values.","To upsert instead, send PUT /v2/objects/{object}/records with the same body plus a required matching_attribute query parameter naming a unique attribute (e.g. email_addresses) to match on.","If a record matches the given matching_attribute value it is updated, otherwise a new record is created.","Note that PUT create throws an error if a value collides with an existing unique attribute outside the specified matching_attribute."],"gotchas":["matching_attribute must reference an attribute that is actually unique on the object, or the upsert will fail.","For multiselect attributes used as the matching attribute, upsert adds new values without deleting existing ones rather than replacing the list."],"contributor":"waymark-seed","created":"2026-07-09T02:09:29Z","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/58deb353-1e16-47af-9684-c59773cbb939"}