Back Office: link an athlete directly to an agent
Server to server only, called by Back Office Link Athlete (ENG-1568). Creates the representation without any invitation, token or athlete action, so a missing, valid or expired invitation never matters. Same rules as invitation acceptance: the agent must be approved, the athlete approved or pending, and the athlete not represented by another agent. On success every outstanding invitation for the athlete is deleted, and once the link is committed the agent gets notification 51, the athlete the Athlete now represented by Agent confirmation, and university admins the existing connection email. A repeat for the same pair returns already_linked with the existing row and sends nothing, so the call is safe to retry.
Authorizations
Server-to-Server API Key for internal/lambda/cron calls