Record that a user has selected a skill.
409. This is enforced at both the application level and in the database with a compound unique index, so even concurrent requests won’t create duplicates.
No authentication needed.
true when the record is createdselected_skill_id — you’ll need it if you want to delete this later.{ user_id, skill_id } record before trying to insert. But just in case two requests land at exactly the same time, the database also has a compound unique index on those fields. The app-level check gives you the nicer error message. The DB-level index is the safety net.