Add an API to manage link permissions by email (and look up team members)
Sam Miller
Today, POST /links/permissions/{domainId}/{linkId}/{userId} and DELETE /links/permissions/{domainId}/{linkId}/{userId} only accept a numeric UserId. There is no public endpoint to:
- List team/domain members (with email addresses), or
- Look up a member's numeric UserId by their email address
This makes the permissions API effectively unusable via email — the only identifier the API accepts (UserId) can't be obtained through the API itself. In our case, the only way we've found to get a UserId is to open the permissions/share UI in a browser, trigger the user picker, and manually capture the response from an internal, undocumented endpoint (profile.short.io/team/member/{teamId}) via browser DevTools. That's not something we can rely on for automation, and it's not a supported integration point.
What we'd like:
- A documented endpoint to list team/domain members, including UserId and email for each (e.g. GET /teams/{domainId}/members or similar), so UserId can be resolved programmatically, or
- Support for passing an email address directly to the existing permission endpoints (e.g. POST /links/permissions/{domainId}/{linkId}?email=user@example.com), removing the need for a separate lookup step entirely
Why it matters:
Any team managing shortlink permissions at scale (onboarding/offboarding, bulk grants, integrating with internal tooling) currently has no supported way to do this by email — the natural identifier everyone already has — without manual, browser-based steps per user.
Sam Miller
The intention here is very much that if we have this API, we can use agents to manage and audit permissions.