List template shares
/template/{id}/share
Lists who a template is shared with. Cursor-paginated, and the only place the grant list is served. Each entry carries a resolved `grantee`. Filter with `grantee_type`, search member names/emails and team names with `q`. Requires owner or `edit` access (own grant) — no `template:manage` fallback.
Path Parameters
Template id (tpl_…).
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: their stored profile picture, else a Gravatar URL (d=404, 96px) derived 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
Share id (acl_…), the {aclId} that DELETE …/share/{aclId} takes.
viewuseedit
curl -X GET 'https://api.elaichi.ai/template/<id>/share' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/template/<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/template/<id>/share"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())