Join a library through an invitation
Admit the caller atomically or return their unchanged existing access. Retrying an uncertain join unchanged consumes no additional place. Invalid secrets or unavailable libraries return a generic 404; retry with a valid, available link. Expired, disabled, exhausted, or removal-cutoff invitations return 409; request a new invitation. Admission disabled returns 503; retry after it becomes available.
Authorizations
First-party Gumnut app session (Clerk session JWT). Only the Gumnut web and mobile apps can obtain one — API keys and OAuth tokens cannot manage credentials or library sharing, so these operations are not callable with the credentials this API otherwise accepts.
Path Parameters
Invitation identifier.
Body
Opaque secret from the invitation URL fragment.
1 - 64Response
Successful Response
Whether this request admitted the account or returned unchanged access.
joined, already_member Library context with the caller's actual role.
Active non-owner membership; null only when the caller owns the library.