List file shares
/file/{id}/share
Cursor-paginated: who the owner shared this file with. The only place the grant list is served — a file can be shared organization-wide, so no row embeds it (`access_summary` on `GET /file` is the bounded rollup). Filter with `grantee_type`; `q` matches member names and emails and team names. Owner only, and there is no `file:share` permission to mirror — ownership is the gate. A caller who is not the owner gets `403` ("Only the owner…") whenever a tier reaches the file for them — an explicit grant, or `use` on its source connection or toolbox, restricted or not — because it is in their `GET /file` and they already know it exists; `404` when no tier resolves, including a listed row whose inherited chain has broken (`can_open: false` for a lapsed toolbox delegation or a deleted connection).
Path Parameters
File id (file_…).
Query Parameters
Match member name or email, or team name. LIKE wildcards are matched literally. Max 200 characters.
Restrict to one kind of grantee.
userteamorg
Response Body
Resolved display data, so a page of grants needs no follow-up lookups.
4 properties
The person's picture — the same one the console's user menu draws: their stored profile picture, else a Gravatar URL (d=404, 96px) derived server-side from their email (the address itself is not sent), else null. Draw initials when it is null or the image fails to load.
Team grants only: how many people the grant reaches.
Null for org-wide grants.
userteamorg
ACL id (acl_…) — what DELETE …/share/{aclId} takes.
A file grants exactly one level.
view
curl -X GET 'https://api.elaichi.ai/file/<id>/share' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/file/<id>/share', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/file/<id>/share"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())